home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 001 / qm3doc.arc / QMODEM.DOC
Encoding:
Text File  |  1987-04-18  |  286.7 KB  |  7,723 lines

  1.  
  2.  
  3.  
  4.      
  5.      
  6.      
  7.      
  8.      
  9.      
  10.      
  11.      
  12.      
  13.      
  14.      
  15.      
  16.      
  17.      
  18.      
  19.      
  20.                               Qmodem Operations Manual
  21.                                     Version 3.0
  22.                                           
  23.                                           
  24.                                           
  25.                                           
  26.                                           
  27.                                           
  28.                                           
  29.                                           
  30.                                           
  31.                                           
  32.                                           
  33.                                           
  34.                                           
  35.                                  The Forbin Project
  36.                               4945 Colfax Avenue South
  37.                                Minneapolis, MN  55409
  38.                              PCBoard BBS (612) 824-8167
  39.                                           
  40.      
  41.      
  42.      
  43.      
  44.      
  45.      
  46.      
  47.      
  48.      
  49.      
  50.      
  51.      
  52.      
  53.      
  54.      
  55.                       Qmodem Copyright (C) 1984,1985,1986,1987
  56.                 All rights are reserved by the Forbin Project, Inc.
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68. Qmodem 3.0                                                               Preface
  69.  
  70.      
  71.      
  72.      
  73.      
  74.      
  75.      
  76.      
  77.      
  78.      
  79.      
  80.      
  81.      
  82.      
  83.      PREFACE
  84.      
  85.      This document was completely revised for Qmodem 3.0.
  86.      
  87.      Qmodem (TM) software copyright (C) 1984,85,86,87 The Forbin Project, Inc.
  88.      All rights reserved.
  89.      
  90.      This document copyright (C) 1987 The Forbin Project, Inc.  All rights
  91.      reserved.
  92.      
  93.      Qmodem is a Trademark of The Forbin Project Inc.
  94.      
  95.      Any specific hardware/software names used in this document are trademarks
  96.      of specific manufacturers.
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.                   Copyright (C) by The Forbin Project, Inc.               ii
  132.  
  133.  
  134. Qmodem 3.0                                                               Preface
  135.  
  136.      
  137.      
  138.      
  139.      
  140.      
  141.      
  142.      
  143.      I would like to take this opportunity to thank the BETA testers for
  144.      helping me make Qmodem what it is today.  It been a long 7 months and at
  145.      times I thought we would hurt each other.  Through thick (heads) and thin
  146.      (patiences) we've stuck in out.  What more can I say?  They're a great
  147.      bunch of guys!
  148.      
  149.      
  150.      
  151.           BOB SEIBOTH              BRUCE ACKERSON        DAVE HUGHES
  152.           DAVE KLEIN               DAVE STODDARD         DAVID TERRY
  153.           DON WILLIAMS             FAROKH IRANI          JIM HARRAR
  154.           JIM LUHMAN               JOHN GEFAELL          KARL BRENDEL
  155.           LOREN JONES (Thnaks)     MARK KUEHL            MICHAEL LANDESMAN
  156.           NOAH GREGOROPOULOS       PHILIP STULTZ         RANDY GULLICK
  157.           RICHARD TAYLOR           ROBERT BLACHER        ROD BOWMAN
  158.           STEVE SOMERS             TONY GUTSCHMIDT       WAYNE WARE
  159.           WILLIAM BENNETT
  160.      
  161.      
  162.      
  163.      (Richard, please take that silly face-mask off.  I was only joking about
  164.      the flail.  :-]  )
  165.      
  166.      Ackersons Law : Release this thing before it reaches version 4.0!
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.                   Copyright (C) by The Forbin Project, Inc.               iii
  198.  
  199.  
  200. Qmodem 3.0                                                             License
  201.  
  202.      LICENSE
  203.      
  204.      Qmodem is not, or has ever been "Public Domain".  Qmodem is not "Free"
  205.      either.
  206.      
  207.      Qmodem is copyright (C) 1984,1985,1986,1987 by The Forbin Project, Inc.
  208.      
  209.      Non-registered users are granted a limited license to use Qmodem to see if
  210.      it is appropriate for their needs.  The usage of Qmodem, except for this
  211.      limited purpose, requires registering the copy(s).  Use of non-registered
  212.      copied of Qmodem outside of the limited license is strictly prohibited.
  213.      
  214.      No one may modify Qmodem for any reason, in any way, including but not
  215.      limited to, de-compiling, disassembling, or reverse engineering the
  216.      program.  The opening screen must never be modified by any means.
  217.      
  218.      You are granted permission to copy Qmodem only for the trial usage of
  219.      others subject to the above restrictions, and also the following:
  220.      
  221.           Qmodem must be copied in unmodified form, complete with the file
  222.           containing this license information.
  223.           
  224.           The full Qmodem documentation must be included.
  225.           Not fee, charge, or remuneration (money) may be accepted or
  226.           requested.
  227.           
  228.           Qmodem may not be distributed with any other product, software or
  229.           hardware.
  230.           
  231.      Sysops (Bulletin Board System Operators) may make Qmodem available for
  232.      downloading by their users only if the above conditions are met.  If there
  233.      is a time limit problem for the users because of the size,  then the
  234.      documentation must be bundled with the QMODEM.COM file to insure that the
  235.      user gets it.
  236.      
  237.      Distributors of "Public Domain" and/or User Supported software may
  238.      distribute Qmodem subject to the above conditions only after obtaining
  239.      written permission.  This condition supersedes any and all previous
  240.      agreements.
  241.      
  242.      Refer to the Ordering section for more information on registration,
  243.      corporate site-licensing and similar topics.
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.                   Copyright (C) by The Forbin Project, Inc.               iv
  264.  
  265.  
  266. Qmodem 3.0                                                             Ordering
  267.  
  268.      ORDERING INFORMATION
  269.      
  270.      When you register your copy of Qmodem, you are granted a license to use
  271.      the program as often as you wish.  There are several advantages to
  272.      registering, besides having a clear conscience.  The Forbin Project, Inc.
  273.      has 3 Bulletin Boards inhouse, two of which are private lines for
  274.      registered users, and one for the general public.  We also run a "Round
  275.      Table" (Special interest group) on the General Electric GEnie system.  Now
  276.      we're a local phone call away from 99% of you!  You will also be notified
  277.      through the mail, when a significant enhancement has been made to Qmodem.
  278.      Once you register, all upgrades are made available to you.
  279.      
  280.      There are two ways you can register.  One, by sending in a completed
  281.      "Registration" form and a check for $30.  We will assume that you already
  282.      have the program and documentation from another source.  We do not provide
  283.      diskettes or manuals for the $30 registration.  For an additional $5, we
  284.      will send you the latest version of Qmodem, documentation, and utilities
  285.      on diskette.
  286.      
  287.      If you are unsure and wish to get an evaluation diskette, you can send $10
  288.      and receive the latest version of Qmodem, documentation, and utilities.
  289.      You will not be a registered user with all the benefits.  You can also
  290.      send a self-addressed floppy diskette mailer and disk with $5 to receive a
  291.      copy.
  292.      
  293.      If you want to receive Qmodem on the new 3½ diskette media, add an
  294.      additional $10 for each diskette ordered.
  295.      
  296.      Please use the following order form when placing an order.
  297.      
  298.                                       . . . .
  299.      
  300.      NON U.S. residents, please send checks or money orders drawn on U.S.
  301.      Funds.  We will accept non U.S. currency, but you must include an
  302.      additional $10 to cover exchange handling.  VISA or MasterCard is also
  303.      acceptable.
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.                   Copyright (C) by The Forbin Project, Inc.               v
  330.  
  331.  
  332. Qmodem 3.0                                                             Ordering
  333.  
  334.                                                             INVOICE # 87-260121
  335.      
  336.      Remit To:                The Forbin Project, Inc.
  337.                               4945 Colfax Avenue South
  338.                                Minneapolis, MN  55409
  339.      
  340.      
  341.      
  342.        Qty.                   Description                              Amount
  343.      
  344.        ____  Qmodem Evaluation Diskette (current version) @  $5.00 ea  ______
  345.                (You supply the diskette, no registration)
  346.      
  347.        ____  Qmodem Evaluation Diskette (current version) @ $10.00 ea  ______
  348.                (Complete program and manual on disk, no registration)
  349.      
  350.        ____  Qmodem Registration (single user) . . . . .  @ $30.00 ea  ______
  351.                (Does not include a new diskette)
  352.      
  353.        ____  Qmodem Registration & New Disk  . . . . . .  @ $40.00 ea  ______
  354.                (Registration with program and manual on diskette)
  355.      
  356.                                                         Less Discount [______]
  357.      
  358.        ____  Qmodem on 3½ inch cartridge diskette . . . . @ $10.00 ea  ______
  359.                (Add to each order wanting the new size diskettes)
  360.      
  361.                                                              Subtotal  ______
  362.      
  363.                (Minnesota residents please add 6% sales tax)      Tax  ______
  364.      
  365.                                                               Total $  ______
  366.      
  367.      
  368.        Payment by:   [ ] Check   [ ] MC   [ ] Visa   [ ] PO # _______________
  369.      
  370.              Name: __________________________________________________________
  371.      
  372.           Company: __________________________________________________________
  373.      
  374.           Address: __________________________________________________________
  375.      
  376.                    __________________________________________________________
  377.      
  378.                    __________________________________________________________
  379.      
  380.        Work Phone: (____) _____________    Home Phone: (___)  _______________
  381.      
  382.            Card #: ________________________________ Exp. Date: ______________
  383.      
  384.        Signature of Card holder: _____________________________________________
  385.      
  386.      
  387.      NON U.S. orders: Use Visa/MC or send checks drawn on U.S. Funds in U.S.
  388.      dollars.  Add $10 for currency exchange.  Please add $5 for NON U.S.
  389.      shipments.
  390.      
  391.      Sorry, no C.O.D. orders will be accepted.
  392.  
  393.  
  394.  
  395.                   Copyright (C) by The Forbin Project, Inc.               vi
  396.  
  397.  
  398. Qmodem 3.0                                                             Ordering
  399.  
  400.      SITE LICENSE
  401.      
  402.      If you plan on using Qmodem in a corporate, government, or business,
  403.      registration in not optional and the 30 day limited license is enforced.
  404.      Quantity discounts are available under this Site License agreement.
  405.      
  406.      One MASTER copy of Qmodem and the documentation will be supplied on disk.
  407.      The site is responsible for printing the documentation and copying the
  408.      disks for distribution.  Backups of the MASTER do not count toward the
  409.      total copies of the license.
  410.      
  411.      With all site licenses, the site will supply one contact person with which
  412.      all correspondence will be made.  If a problem does come up, the contact
  413.      person will call and make arrangements to get a fix for the glitch.
  414.      Updates to Qmodem will be forwarded to the contact person.  When filling
  415.      out the order form, use the contact persons name to save confusion at a
  416.      later date.
  417.      
  418.      Following is the current site license discount rates:
  419.                     
  420.                        TOTAL COPIES       DISCOUNT
  421.                           1 -  10        no discount
  422.                          11 -  20        5% discount
  423.                          21 -  30       10% discount
  424.                          31 -  40       15% discount
  425.                          41 -  50       20% discount
  426.                          51 - 100       25% discount
  427.                         101 - 200       30% discount
  428.                         201 - 300       35% discount
  429.                         301 - 500       40% discount
  430.                         501+            50% discount
  431.      
  432.      
  433.      NOTICE:
  434.      All prices and discounts are subject to change without notice.  Also,
  435.      discounts are NOT cumulative; they apply to separate orders only.
  436.  
  437.  
  438.  
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.                   Copyright (C) by The Forbin Project, Inc.               vii
  462.  
  463.  
  464. Qmodem 3.0                                                             Warranty
  465.  
  466.      WARRANTY
  467.      
  468.      The Forbin Project, Inc. makes no warranty of any kind, express or
  469.      implied, including without limitation, any warranties of merchantability
  470.      and/or fitness for a particular purpose.  The Forbin Project, Inc. shall
  471.      not be liable for any damages, whether direct, indirect, special or
  472.      consequential arising from a failure of this program to operate in the
  473.      manner desired by the user.  The Forbin Project, Inc. shall not be liable
  474.      for any damage to data or property which may be caused directly of
  475.      indirectly by the use of this program.
  476.      
  477.      IN NO EVENT WILL The Forbin Project, Inc. BE LIABLE TO YOU FOR ANY
  478.      DAMAGES, INCLUDING ANY LOST PROFITS, LOST SAVINGS OR OTHER INCIDENTAL OR
  479.      CONSEQUENTIAL DAMAGES ARISING OUT OF YOUR USE OR INABILITY TO USE THE
  480.      PROGRAM, OR FOR ANY CLAIM BY ANY OTHER PARTY.
  481.  
  482.  
  483.  
  484.  
  485.  
  486.  
  487.  
  488.  
  489.  
  490.  
  491.  
  492.  
  493.  
  494.  
  495.  
  496.  
  497.  
  498.  
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.                   Copyright (C) by The Forbin Project, Inc.               viii
  528.  
  529.  
  530.  
  531.  
  532.  
  533.  
  534.  
  535.                          T A B L E   O F   C O N T E N T S
  536.      
  537.      Preface........................................................ii
  538.      
  539.      License
  540.          Limited Single User License................................iv
  541.          Giving a copy to a friend..................................iv
  542.          Sysops - what you need to know.............................iv
  543.          Distributors of "PD" Software - Read this..................iv
  544.      
  545.      Ordering Information
  546.          Registration
  547.              Registration only (no diskette).........................v
  548.              Registration (receiving a diskette).....................v
  549.              Getting a 3½ inch diskette..............................v
  550.              Getting a trial diskette (no registration)..............v
  551.          Invoice Order Form.........................................vi
  552.          Site Licensing............................................vii
  553.              How to get a discount.................................vii
  554.      
  555.      Warranty.....................................................viii
  556.      
  557.      Definitions.....................................................6
  558.      
  559.      System Requirements.............................................7
  560.      
  561.      Operating Environment
  562.          Multi-Tasking Systems.......................................7
  563.          Other Background Software...................................7
  564.      
  565.      Quick Start
  566.          Back up your diskettes!.....................................8
  567.          Floppy Disk Installation....................................8
  568.          Hard Disk Installation......................................8
  569.          Converting PRE 2.0 FON files................................9
  570.          Converting 2.x FON files....................................9
  571.      
  572.      Qinstall
  573.          What is Qinstall?..........................................10
  574.          Fields and Cursor Control..................................10
  575.          Saving and Aborting changes................................10
  576.          Creating the QMODEM.CNF file...............................11
  577.          Menus in Qinstall
  578.              Main Menu..............................................11
  579.                  Cosmetics Sub Menu.................................12
  580.                      Color Setup Screen.............................12
  581.                      Window Placement Screen........................13
  582.                  Hardware Sub Menu..................................14
  583.                      Modem Initialization and Timing................14
  584.                      Modem Dial and Redial Parameters...............16
  585.                      Communications Port Addressing.................18
  586.                  File Directory Menu................................19
  587.                      File Directory Setup #1........................20
  588.                      File Directory Setup #2........................22
  589.  
  590.  
  591.  
  592.  
  593.                                                                         1
  594.  
  595.  
  596. Qmodem 3.0
  597.  
  598.  
  599.  
  600.  
  601.                      Additional Transfer Protocols..................23
  602.                          Adding a new Protocol......................23
  603.                          Deleting a Protocol........................25
  604.                  RunTime Setup Menu.................................25
  605.                      Misc. Parameter Setup #1.......................25
  606.                          Memory Allocation..........................27
  607.                      Misc. Parameter Setup #2.......................27
  608.                  Saving your Setup..................................28
  609.                  Aborting the changes...............................28
  610.      
  611.      Starting Qmodem................................................29
  612.          The Status Line............................................29
  613.          The Home Menu..............................................31
  614.          Comman Line Parameters.....................................32
  615.      
  616.      Qmodem Keyboard Commands.......................................34
  617.          Strip/Replace Table   (Alt-A)..............................34
  618.              Changing an incoming character.........................34
  619.              Changing the High-Bits.................................34
  620.          Bells and Beeps Toggle   (Alt-B)...........................34
  621.          Clearing the screen   (Alt-C)..............................35
  622.          Dialing   (Alt-D)..........................................35
  623.              The "quick entry" prompt...............................35
  624.              The Phone Book.........................................36
  625.                  Clearing an entry..................................36
  626.                  Dialing a number...................................37
  627.                  Dialing more than one number.......................38
  628.                  How to use Prefixes................................38
  629.                  Manual Dial mode...................................39
  630.                  Other info in the Phone Book.......................40
  631.                  Paging through the Phone Book......................40
  632.                  Revising an entry..................................40
  633.                  Loading another Phone Book.........................41
  634.                  Exiting the ALT-D window...........................42
  635.          Changing the Duplex   (Alt-E)..............................42
  636.          Script Files   (Alt-F)
  637.              What is a Script?......................................42
  638.          Terminal Emulation   (Alt-G)...............................42
  639.          Hangup the phone   (Alt-H).................................43
  640.          Information screen   (Alt-I)...............................43
  641.          Function Key Macros   (Alt-J)..............................43
  642.              Changing a Key Macro...................................45
  643.              A Script Macro.........................................45
  644.              A LOG Macro............................................45
  645.              Using the Password Macro...............................46
  646.              Loading a new KEY file.................................46
  647.          Changing the active COM port   (Alt-K).....................46
  648.          Changing the Logged Drive   (Alt-L)........................47
  649.          Music Toggle   (Alt-M).....................................47
  650.          Invoking Qinstall from Qmodem   (Alt-N)....................47
  651.          Changing Subdirectories   (Alt-O)..........................48
  652.          Setting the Communications Parameters   (Alt-P)............49
  653.          The Dial/Redial Screen   (Alt-Q)...........................50
  654.              Dialing from ALT-D.....................................50
  655.  
  656.  
  657.  
  658.  
  659.                  Copyright (C) by The Forbin Project, Inc.        2
  660.  
  661.  
  662. Qmodem 3.0
  663.  
  664.  
  665.  
  666.  
  667.              Primary Commands.......................................51
  668.              Editing the Redial Queue...............................51
  669.                  Adding a number to the Queue.......................51
  670.                  Deleting a number from the Queue...................52
  671.              Starting without a previous Dial.......................52
  672.              Status messages........................................52
  673.              Parameters passed to the Linked Script.................52
  674.          DOS Shell   (Alt-R)........................................53
  675.          Split Screen Mode   (Alt-S)................................53
  676.          Screen Dump   (Alt-T)......................................54
  677.          Scroll Back Toggle   (Alt-U)...............................54
  678.          View a File   (Alt-V)......................................54
  679.          Disk Directory   (Alt-W)...................................55
  680.          Exiting Qmodem   (Alt-X)...................................56
  681.          Delete a File   (Alt-Y)....................................56
  682.          Xon/Xoff Toggle   (Alt-Z)..................................57
  683.          Uploading a File   (PgUp)
  684.              Protocols available....................................58
  685.              ASCII protocol.........................................59
  686.              Xmodem.................................................60
  687.              Xmodem CRC.............................................61
  688.              Xmodem Relaxed.........................................61
  689.              Imodem.................................................61
  690.              Ymodem.................................................62
  691.              Ymodem-G...............................................62
  692.              External protocols.....................................62
  693.          Downloading a File   (PgDn)................................63
  694.              The Download Window....................................63
  695.              ASCII..................................................63
  696.              Xmodem, Ymodem, Imodem.................................64
  697.                  Errors detected....................................64
  698.              Call Waiting?..........................................65
  699.          Scroll Back   (Up Arrow)...................................65
  700.          Capture to Disk   (Ctrl-Home)..............................66
  701.          Sending a BREAK signal   (Ctrl-End)........................66
  702.          Copying to the Printer   (Ctrl-PrtSc)......................66
  703.          Adding Linefeeds to Carriage Returns   (Shift-Tab).........67
  704.          Backspace <-> DEL Toggle   (Alt-1).........................67
  705.          EGA Screen Modes   (Alt-2 thru Alt-6)......................67
  706.          Hi Bit Stripping Toggle   (Alt-8)..........................67
  707.          Logging activity to a File   (Alt-0).......................68
  708.      
  709.      Scripting - The Built-in Language
  710.          Different types of Scripts.................................71
  711.          Linking a Script to a Phone Book entry.....................71
  712.          Phone numbers and parameters in Scripts....................72
  713.          How to create and Name a Script
  714.              Naming conventions.....................................72
  715.              Using an Editor........................................72
  716.          Running the Script.........................................73
  717.              Using ALT-F to run the Script..........................73
  718.              Using the F-Keys.......................................73
  719.          Stopping a Script..........................................73
  720.          Executing Linked Scripts...................................74
  721.  
  722.  
  723.  
  724.  
  725.                  Copyright (C) by The Forbin Project, Inc.        3
  726.  
  727.  
  728. Qmodem 3.0
  729.  
  730.  
  731.  
  732.  
  733.          Special characters in Scripts..............................74
  734.          Basic Scripting Commands...................................74
  735.              Commands...............................................79
  736.                  Assign.............................................79
  737.                  Beep...............................................79
  738.                  Box................................................80
  739.                  Break..............................................80
  740.                  Capture............................................80
  741.                  ChDir..............................................81
  742.                  ClrScr.............................................81
  743.                  ColorBG............................................81
  744.                  ColorFG............................................81
  745.                  Debug..............................................82
  746.                  Dial...............................................82
  747.                  Display............................................83
  748.                  DOS................................................83
  749.                  Download...........................................84
  750.                  Drive..............................................85
  751.                  Exist..............................................85
  752.                  Exit...............................................85
  753.                  Fkey...............................................85
  754.                  Get................................................86
  755.                  GetR...............................................86
  756.                  GetScr.............................................87
  757.                  Gosub..............................................87
  758.                  Goto...............................................87
  759.                  GotoXY.............................................88
  760.                  Graphics...........................................88
  761.                  HangUp.............................................88
  762.                  If.................................................88
  763.                  Label..............................................89
  764.                  LoadFON............................................89
  765.                  LoadKEY............................................89
  766.                  Log................................................89
  767.                  Note...............................................90
  768.                  PutScr.............................................90
  769.                  Return.............................................91
  770.                  Script.............................................91
  771.                  Send...............................................92
  772.                  SetComm............................................92
  773.                  Stamp..............................................93
  774.                  String.............................................93
  775.                  System.............................................93
  776.                  Timeout............................................94
  777.                  WaitFor............................................94
  778.                  TurnOff............................................94
  779.                  TurnOn.............................................94
  780.                  Upload.............................................95
  781.                  WaitUntil..........................................97
  782.                  When...............................................97
  783.                  Window.............................................98
  784.                  Write..............................................98
  785.          Error Messages.............................................99
  786.          A Call for Scripts........................................100
  787.  
  788.  
  789.  
  790.  
  791.                  Copyright (C) by The Forbin Project, Inc.        4
  792.  
  793.  
  794. Qmodem 3.0
  795.  
  796.  
  797.  
  798.  
  799.      
  800.      APPENDIX A - SCRIPT COMMAND REFERENCE.........................102
  801.      
  802.      APPENDIX B - TERMINAL MODE COMMAND REFERENCE..................109
  803.  
  804.  
  805.  
  806.  
  807.  
  808.  
  809.  
  810.  
  811.  
  812.  
  813.  
  814.  
  815.  
  816.  
  817.  
  818.  
  819.  
  820.  
  821.  
  822.  
  823.  
  824.  
  825.  
  826.  
  827.  
  828.  
  829.  
  830.  
  831.  
  832.  
  833.  
  834.  
  835.  
  836.  
  837.  
  838.  
  839.  
  840.  
  841.  
  842.  
  843.  
  844.  
  845.  
  846.  
  847.  
  848.  
  849.  
  850.  
  851.  
  852.  
  853.  
  854.  
  855.  
  856.  
  857.                  Copyright (C) by The Forbin Project, Inc.        5
  858.  
  859.  
  860. Qmodem 3.0                                                          Definitions
  861.  
  862.  
  863.  
  864.  
  865.      DEFINITIONS
  866.      
  867.      Throughout the documentation, you may run into cryptic text which needs
  868.      explaining.  Following are some text examples you may come across.
  869.      
  870.      
  871.           [ENTER] and <cr>  : These represent the return key on the keyboard.
  872.                               If you see these in the text, press the Enter
  873.                               key rather than typing in the string.
  874.      
  875.           ESC or [Esc]      : Means press the Esc key.
  876.      
  877.           Alt-[character]   : Alt- is always followed by another character
  878.                               which means press and hold the Alt Key and hit
  879.                               the letter following.  Alt-A means hold the Alt
  880.                               key down and press 'A'.
  881.      
  882.           Ctrl-[character]  : Is executed the same way the Alt- is handled.
  883.                               You press and hold the Ctrl key and then press
  884.                               the letter.  Ctrl  key combinations may also be
  885.                               specified by the ^ (carat) as in ^T or ^V.
  886.      
  887.           ...  (ellipse)    : Means "and everything in between".  For example,
  888.                               A...Z means all letters A through Z.
  889.  
  890.  
  891.  
  892.  
  893.  
  894.  
  895.  
  896.  
  897.  
  898.  
  899.  
  900.  
  901.  
  902.  
  903.  
  904.  
  905.  
  906.  
  907.  
  908.  
  909.  
  910.  
  911.  
  912.  
  913.  
  914.  
  915.  
  916.  
  917.  
  918.  
  919.  
  920.  
  921.  
  922.  
  923.                  Copyright (C) by The Forbin Project, Inc.        6
  924.  
  925.  
  926. Qmodem 3.0                                                         Requirements
  927.  
  928.  
  929.  
  930.  
  931.      SYSTEM REQUIREMENTS
  932.      
  933.      Qmodem requires an IBM PC/XT/AT or close compatible with at least 256K, a
  934.      Color Graphics or Monochrome card and monitor, and a serial port and
  935.      modem.  Listed are some of the common pieces of hardware which Qmodem has
  936.      been tested with.  This list is by no means inclusive, but these HAVE been
  937.      tested and are known to work fine.
  938.      
  939.                          Computers:
  940.                               IBM PC/XT/AT/PCjr or close compatible
  941.                               Tandy 1000,1200,3000
  942.                               AT&T 6300 & 6300+
  943.                               Compaq (all models including 386)
  944.                          Video Cards:
  945.                               IBM Monochrome or compatible
  946.                               Hercules Mono or Color Graphics
  947.                               IBM Color Graphics or compatible
  948.                               IBM EGA or compatible with 128K or more.
  949.                          Serial Port:
  950.                               IBM Serial/Parallel adapter
  951.                               Most any clone card with jumpers to be compatible
  952.                                   with COM1: and/or COM2: compatibility.
  953.                          Modems:
  954.                               Hayes and compatible.
  955.      
  956.      
  957.      OPERATING ENVIRONMENT
  958.      
  959.      Three multi-tasking environments are supported by Qmodem.  TopView from
  960.      IBM, DESQview from QuarterDeck Systems and TaskView from Sunny Hill
  961.      Software.  TopView and DESQview let Qmodem run in a window and not take up
  962.      the whole screen.  TaskView takes a slightly different approach and gives
  963.      Qmodem an entire screen when the partition is selected.  All three let you
  964.      be more productive by running other software alongside Qmodem.
  965.      
  966.      Qmodem sometimes does not work on a PC when other background software is
  967.      running.  By "other background software", I mean programs that are loaded
  968.      in the CONFIG.SYS, or a BAT file and remain in memory.  Certain on-screen
  969.      clock programs cause all sorts of problems with the serial port.  If you
  970.      experience incoming characters being dropped, other software is stealing
  971.      time from Qmodem.  Remove programs from the AUTOEXEC.BAT file one at a
  972.      time until you find the offending program or utility.  Qmodem has been
  973.      tested with several programs, including SideKick and SuperKey, and runs
  974.      just fine.  One program that has been shown to not work correctly is the
  975.      Clock driver supplied with some QUADRAM memory boards.
  976.  
  977.  
  978.  
  979.  
  980.  
  981.  
  982.  
  983.  
  984.  
  985.  
  986.  
  987.  
  988.  
  989.                  Copyright (C) by The Forbin Project, Inc.        7
  990.  
  991.  
  992. Qmodem 3.0                                                          Quick Start
  993.  
  994.  
  995.  
  996.  
  997.      QUICK START
  998.      
  999.      
  1000.      The first thing you should do is back up your disks.  Always, always,
  1001.      ALWAYS back up your disks!  I can't stress this enough!  Please refer to
  1002.      your DOS manual if you are not sure how to back up your disks.
  1003.      
  1004.      Now that that is done, we can proceed with confidence.
  1005.      
  1006.      
  1007.      FLOPPY DISK INSTALL
  1008.      
  1009.      If you received the diskette directly from The Forbin Project and ran the
  1010.      DOFIRST batch file, then the diskettes are already installed for you. (You
  1011.      must have because you are reading the DOC file!)  You can now skip to the
  1012.      section on running Qinstall.
  1013.      
  1014.      Copy all of the files from the floppy diskette to a diskette you will be
  1015.      using regularly.  Because of the number of files included, you may want to
  1016.      copy the documentation and the Script files to a separate diskette to free
  1017.      up needed space.  The recommended files on each diskette is as follows:
  1018.      
  1019.           Disk #1   QMODEM.COM               (main program)
  1020.                     QMODEM.000...QMODEM.011  (overlays)
  1021.                     QMODEM.HLP               (online help)
  1022.                     QMODEM.FON               (phone book)
  1023.                     QMODEM.PRE               (phone prefixes)
  1024.                     QMODEM.WND               (window placements)
  1025.                     QMODEM.KEY               (function key text)
  1026.                     QMODEM.CNF               (configuration)
  1027.      
  1028.      
  1029.           Disk #2   QINSTALL.COM             (configuration program)
  1030.                     QINSTALL.HLP             (online help)
  1031.      
  1032.                     QFONEDIT.COM             (phone book editor)
  1033.                     QFONEDIT.001             (overlay)
  1034.                     QFONEDIT.002             (overlay)
  1035.                     QFONEDIT.CNF             (configuration)
  1036.      
  1037.      
  1038.           Disk #3   QMODEM.DOC               (this file)
  1039.                
  1040.                     *.SCR                    (all script files)
  1041.      
  1042.      
  1043.      HARD DISK INSTALL
  1044.      
  1045.      If you received the diskette directly from The Forbin Project and ran the
  1046.      DOFIRST batch file, then all the files are already installed for you.  You
  1047.      can now skip to the section on running Qinstall.
  1048.      
  1049.      Create a subdirectory of your choice to place all of the Qmodem files.
  1050.      Copy the entire disk to the subdirectory.  The specifics of the COPY
  1051.  
  1052.  
  1053.  
  1054.  
  1055.                  Copyright (C) by The Forbin Project, Inc.        8
  1056.  
  1057.  
  1058. Qmodem 3.0                                                          Quick Start
  1059.  
  1060.  
  1061.  
  1062.  
  1063.      command will not be discussed here.  If you have questions, please refer
  1064.      to your DOS manual.
  1065.      
  1066.      
  1067.      
  1068.      CONVERTING A PRE QMODEM 2.0 PHONE DIRECTORY
  1069.      
  1070.      If you are using Qmodem for the first time, skip over this section.  If
  1071.      you are using an older version of Qmodem, you need to convert your old
  1072.      phone directory to the version 2.0 format.  The 2.0 format allowed you to
  1073.      attach a script file to each directory entry.  The program CNVRT1XX.COM
  1074.      does the conversion.
  1075.      
  1076.      Copy CNVRT1XX.COM to the disk drive and/or subdirectory where QMODEM.FON
  1077.      is located.  Copy QMODEM.FON to QMODEM.OLD (insurance against power loss
  1078.      or other errors during the next step).  Then run CNVRT1XX.  The program
  1079.      takes a minute or so to complete the conversion.  Because you have a pre
  1080.      3.0 version FON file, you must also do the following conversion.
  1081.      
  1082.      
  1083.      
  1084.      CONVERTING A 2.0 QMODEM PHONE DIRECTORY
  1085.      
  1086.      If you are using Qmodem for the first time, skip over this section.  If
  1087.      you are using an older version of Qmodem, you need to convert your old
  1088.      phone directory to the new version 3.0 format.  The program CNVRTFON.COM
  1089.      does the final conversion.
  1090.      
  1091.      Copy CNVRTFON.COM to the disk drive and subdirectory where QMODEM.FON is
  1092.      located.  Copy QMODEM.FON to QMODEM.OLD (insurance against power loss or
  1093.      other error during the next step).  Then run CNVRTFON.  Follow the
  1094.      directions displayed by CNVRTFON.  The program takes a minute or so to
  1095.      complete its job.
  1096.  
  1097.  
  1098.  
  1099.  
  1100.  
  1101.  
  1102.  
  1103.  
  1104.  
  1105.  
  1106.  
  1107.  
  1108.  
  1109.  
  1110.  
  1111.  
  1112.  
  1113.  
  1114.  
  1115.  
  1116.  
  1117.  
  1118.  
  1119.  
  1120.  
  1121.                  Copyright (C) by The Forbin Project, Inc.        9
  1122.  
  1123.  
  1124. Qmodem 3.0                                                            Qinstall
  1125.  
  1126.  
  1127.  
  1128.  
  1129.      RUNNING QINSTALL
  1130.      
  1131.      Qinstall is the installation program that modifies most of the "features"
  1132.      of Qmodem.  You would run Qinstall any time you you would want to change
  1133.      the default configuration for startup.  Qinstall does many things, like
  1134.      tell Qmodem which COM port to use, where to find support files, and even
  1135.      change the color.  Some of the features of Qmodem can be changed "on the
  1136.      fly", but it is a good idea to go through Qinstall completely the first
  1137.      time so you are familiar with ALL the options.
  1138.      
  1139.      Qinstall has a mini Editor built in to modify the QMODEM.CNF file.  Fields
  1140.      that can be changed are delimited (marked by) the [ and ] characters.
  1141.      For example:
  1142.      
  1143.           Default Color       [7 ]
  1144.           Default Background  [0 ]
  1145.      
  1146.           Where is the online help file QMODEM.HLP
  1147.           [C:\QMODEM                                             ]
  1148.      
  1149.      Most of the screens in Qinstall have more than one field that can be
  1150.      changed.  To move between the different field, you can use the UP and DOWN
  1151.      arrow keys and the TAB key.  When you are positioned in a field, the field
  1152.      can be modified.
  1153.      
  1154.      In the lower right corner of the screen you will see the current INSERT
  1155.      mode.  Pressing the INSert key or ^V will toggle it.  If you are in INSERT
  1156.      mode,  characters are added at the current cursor position and the
  1157.      characters to the right are moved over one position.  If the inserted
  1158.      characters cause the rightmost character to be lost, you will here a short
  1159.      beep.  There are two ways to remove unwanted characters, the DELete key
  1160.      and the ^T combination.  The DELete key deletes the character at the
  1161.      current cursor position and all characters to the right are moved one
  1162.      position left.  Pressing the ^T deletes the character at the current
  1163.      cursor position and ALL characters to the right.
  1164.      
  1165.      Qinstall also recognizes different types of fields.  Character fields,
  1166.      Integer fields, Real (number) fields and YES/NO fields.  Fields that
  1167.      accept Real numbers require a decimal point to be included.  When the
  1168.      cursor is on the first character of a numeric field and you begin to
  1169.      change the number, the remaining digits are automatically cleared.
  1170.      
  1171.      Because we are all human, we can (and Murphy has proven that we will) make
  1172.      mistakes.  To save any changes made on the screen, you must press the F10
  1173.      key.  Qinstall will check all fields on the screen to make sure you have
  1174.      entered valid data (Real numbers have decimals, Filenames look right,
  1175.      etc.).
  1176.      
  1177.      If a problem is encountered, the cursor is positioned to the first wrong
  1178.      field on the screen and an error message is displayed on the second line
  1179.      from the top.  Because one line is usually not enough to explain what the
  1180.      problem is, you can press the F1 key to open up a window with more help on
  1181.      that field.  All fields in Qinstall have related help windows.
  1182.      
  1183.  
  1184.  
  1185.  
  1186.  
  1187.                  Copyright (C) by The Forbin Project, Inc.        10
  1188.  
  1189.  
  1190. Qmodem 3.0                                                            Qinstall
  1191.  
  1192.  
  1193.  
  1194.  
  1195.      Only after all of the fields are correct will they be saved.  If you have
  1196.      made several changes to one screen, and decide that you really have MUNGed
  1197.      (Mangled Until No Good) then up, you can press the ESC key.  Pressing ESC
  1198.      returns you to the previous menu without saving the changes.  You can then
  1199.      re-enter the page and begin again.
  1200.      
  1201.      
  1202.      CREATING THE QMODEM.CNF FILE
  1203.      
  1204.      Qmodem requires that you run Qinstall at least once.  The first time
  1205.      Qinstall is run, it will create the QMODEM.CNF file that Qmodem will look
  1206.      for.  Most of the defaults built into Qinstall are for the Hayes and Hayes
  1207.      compatible modems.
  1208.      
  1209.      If you have a pre 1.06 version of QMODEM.CNF, you should delete it and
  1210.      start over.  Many things have changed, and Qinstall has been tuned to make
  1211.      the switch a painless one.
  1212.      
  1213.      NOTE: For printing purposes, screens with graphics characters have been
  1214.      changed to the closest thing possible for non IBM printers.
  1215.      
  1216.      
  1217.      QINSTALL - MAIN MENU
  1218.      
  1219.      This is the Primary Menu of Qinstall:
  1220.      
  1221.      
  1222.               1) Cosmetics     : Colors & Windows
  1223.               2) Hardware      : Communication parameters
  1224.               3) Directories   : File and Path Name parameters
  1225.               4) RunTime Setup : Set Defaults for many features
  1226.               S) Save & Exit   : Save Configuration and Exit to DOS
  1227.               Q) Exit to DOS   : No Changes Saved
  1228.      
  1229.      
  1230.      Each item is selected by pressing the appropriate number or letter.  To
  1231.      help you, we will go through each sub-menu and describe what each one is
  1232.      about.
  1233.      
  1234.  
  1235.  
  1236.  
  1237.  
  1238.  
  1239.  
  1240.  
  1241.  
  1242.  
  1243.  
  1244.  
  1245.  
  1246.  
  1247.  
  1248.  
  1249.  
  1250.  
  1251.  
  1252.  
  1253.                  Copyright (C) by The Forbin Project, Inc.        11
  1254.  
  1255.  
  1256. Qmodem 3.0                                                            Qinstall
  1257.  
  1258.  
  1259.  
  1260.  
  1261.      QINSTALL - COSMETICS MENU
  1262.      
  1263.      "Cosmetics?  Why call it Cosmetics?!"
  1264.      
  1265.      Glad you asked.  Cosmetics was chosen because the options listed affect
  1266.      the way Qmodem looks.  Changes it's face, so to speak.  The use of Color
  1267.      for windows, and their placement is changed here.
  1268.      
  1269.      This is the Cosmetics Menu:
  1270.      
  1271.      
  1272.               1) Colors Setup
  1273.               2) Windows Placement
  1274.               X) Exit back to Main Menu
  1275.      
  1276.      
  1277.      There are no sub-menus under Cosmetics.  Each selection shows you a screen
  1278.      of items that can be changed.
  1279.      
  1280.      
  1281.      QINSTALL - COLOR SETUP
  1282.      
  1283.      Here is a picture of the "Colors Setup" screen:
  1284.      
  1285.      ==========================================================================
  1286.      Qinstall - Color Setup
  1287.      
  1288.      This is Foreground Text and Background.    |          * Color Chart *
  1289.      * Qmodem Information Message               |                        1 1 1
  1290.                                                 |    0 1 2 3 4 5 6 7 8 9 0 1 2
  1291.      +=[ Window Colors ]========+               | 0  * * * * * * * * * * * * *
  1292.      |                          |               | 1  * * * * * * * * * * * * *
  1293.      |  Primary Text            |               | 2  * * * * * * * * * * * * *
  1294.      |  Secondary Text          |               | 3  * * * * * * * * * * * * *
  1295.      +==========================+               | 4  * * * * * * * * * * * * *
  1296.                                                 | 5  * * * * * * * * * * * * *
  1297.                                                 | 6  * * * * * * * * * * * * *
  1298.      ############### Status Line ############## | 7  * * * * * * * * * * * * *
  1299.      -------------------------------------------+------------------------------
  1300.      Foreground Text         [0-15] [3 ]    Background  [0- 7] [0 ]
  1301.      Screen Border           [0-15] [0 ]
  1302.      Primary Text (Window)   [0-15] [3 ]    Secondary   [0-15] [2 ]
  1303.      Window Border           [0-15] [6 ]    Background  [0- 7] [0 ]
  1304.      Information Message     [0-15] [7 ]
  1305.      Status Line Foreground  [0-15] [1 ]    Background  [0- 7] [3 ]
  1306.      
  1307.      
  1308.      Press F2 to Update the Screen Example above
  1309.      Press F1 for Help, F10 to Accept changes, or Esc to Exit        Insert Off
  1310.      ==========================================================================
  1311.      
  1312.      There are three distinct areas of this screen.
  1313.           
  1314.  
  1315.  
  1316.  
  1317.  
  1318.  
  1319.                  Copyright (C) by The Forbin Project, Inc.        12
  1320.  
  1321.  
  1322. Qmodem 3.0                                                            Qinstall
  1323.  
  1324.  
  1325.  
  1326.  
  1327.           1.   The top left shows all the different colors possible, including
  1328.                an open window and the status line.  The area is redrawn every
  1329.                time the F2 key is pressed.
  1330.           
  1331.           2.   The top right is a display of all the different colors
  1332.                available.  The large group of asterisks are different colors on
  1333.                color monitors.  The foreground colors are listed at the top and
  1334.                range from 0 (black) to 15 (high intensity white).  The
  1335.                background colors are listed in the left column and range from 0
  1336.                (black) to 7 (white).  Because the documentation was formatted
  1337.                for 80 column printers, the right three column were deleted.
  1338.           
  1339.           3.   The bottom half lists all the different types of fields and
  1340.                their current color.  The numbers in the first set of brackets
  1341.                contain the range of acceptable colors.  The second set of
  1342.                brackets contain the current color value for that field.  In the
  1343.                sample screen, the foreground text has a range of [0 - 15] and
  1344.                its current value is [3].
  1345.           
  1346.      The second to the last line tell you that by pressing F2, the upper left
  1347.      area will be updated to the colors you have selected in the bottom area.
  1348.      The last line is common throughout Qinstall and controls the HELP window
  1349.      and exiting the screen.
  1350.      
  1351.      The second option in the Cosmetics Menu is the Qmodem Window Placement.
  1352.      This is where you can change the position of some of the windows in
  1353.      Qmodem.  Here is the "Window Placement" screen :
  1354.      
  1355.      ==========================================================================
  1356.      Qinstall - Qmodem Window Placement
  1357.      
  1358.      
  1359.      Instructions:
  1360.      
  1361.         A)  Select a window to be moved and press F2
  1362.         B)  Use the Arrow keys to move the window around the screen.
  1363.         C)  Press Esc to return to this Menu.
  1364.      
  1365.      
  1366.      Windows that can be Moved:
  1367.      
  1368.         1) Baud rate       2) Log Drive       3) Upload          4) Download
  1369.         5) Change Sub-Dir  6) Sub-Dir List    7) File Delete     8) Exit Qmodem
  1370.      
  1371.      Window to Move [1-8] [1 ]
  1372.      
  1373.      
  1374.      Press F2 to Move the Selected Window
  1375.      Press F1 for Help, F10 to Accept changes, or Esc to Exit        Insert Off
  1376.      ==========================================================================
  1377.      
  1378.      You select the window to be moved and press F2.  The screen will clear and
  1379.      a window outline is displayed.  You then use the four arrow keys to move
  1380.      the window around the screen.  When the window bumps into an edge, the
  1381.  
  1382.  
  1383.  
  1384.  
  1385.                  Copyright (C) by The Forbin Project, Inc.        13
  1386.  
  1387.  
  1388. Qmodem 3.0                                                            Qinstall
  1389.  
  1390.  
  1391.  
  1392.  
  1393.      computer will beep.  When you are satisfied with the position, press the
  1394.      ESC key.
  1395.      
  1396.      Although there are many more windows in Qmodem than 8, these are the
  1397.      smallest ones and placement varies greatly with personal preference.
  1398.      
  1399.      
  1400.      QINSTALL - HARDWARE MENU
  1401.      
  1402.      The Qinstall Hardware Menu is as follows :
  1403.      
  1404.      
  1405.               1) Modem Setup #1   Modem Initialization and Timing
  1406.               2) Modem Setup #2   Modem Return Codes and Commands
  1407.               3) Port  Setup      Comm Port Addresses and IRQs
  1408.               X) Exit back to Main Menu
  1409.      
  1410.      
  1411.      All of these entries deal with the hardware in one way or another.  The
  1412.      first two screens deal primarily with the modem and its commands.  The
  1413.      third screen deals with the serial ports inside your computer.  There are
  1414.      no sub-menus from the Hardware Menu.
  1415.      
  1416.      
  1417.      QINSTALL - MODEM SETUP #1
  1418.      
  1419.      Following is the Modem Set #1 screen :
  1420.      
  1421.      ==========================================================================
  1422.      Qinstall - Modem Communication Parameters
  1423.      
  1424.                                    Baud       Data   Parity   Stop
  1425.      Enter initial Modem settings  [9600 ]    [8]     [N]     [1]
  1426.      
  1427.      String to send BEFORE changing Baud rate [              ]
  1428.      
  1429.      String to send AFTER changing Baud rate  [              ]
  1430.      
  1431.      How many seconds should I wait between Redial attempts [10   ]
  1432.      
  1433.      How many seconds should I wait before Canceling a call [60  ]
  1434.      
  1435.      How many milliseconds should be inserted between each character
  1436.          when sending the "Dial" command to the modem [0    ]
  1437.      
  1438.      What Comm port is your modem attached to [1-8] [1]
  1439.      
  1440.      Press F1 for Help, F10 to Accept changes, or Esc to Exit        Insert Off
  1441.      ==========================================================================
  1442.      
  1443.      Lets examine each of these lines one at a time.
  1444.      
  1445.      The initial modem settings make up the first 4 fields:
  1446.      
  1447.  
  1448.  
  1449.  
  1450.  
  1451.                  Copyright (C) by The Forbin Project, Inc.        14
  1452.  
  1453.  
  1454. Qmodem 3.0                                                            Qinstall
  1455.  
  1456.  
  1457.  
  1458.  
  1459.           Baud - the speed at which Qmodem opens the serial port to "talk" to
  1460.           the modem.  Valid baud rates are 300, 1200, 2400, 4800, 9600, 19200
  1461.           and 38400.
  1462.      
  1463.           Data - the data bits to use when communicating with the modem at
  1464.           start-up.  The only valid entries are 7 and 8.
  1465.      
  1466.           Parity - the method of checking the the bytes as they are sent and
  1467.           received.  Valid parities are [E]ven, [O]dd and [N]one.  Because
  1468.           there are a maximum of 8 data bits per byte, using a parity other
  1469.           than [N]one requires that you use only 7 data bits.  The eighth bit
  1470.           then becomes the parity bit.  Most online services like GEnie,
  1471.           Source, and CompuServe should use 7 data bits and [E]ven parity.
  1472.           Most bulletin boards now are requiring that you use 8 data bits and a
  1473.           parity of [N]one.
  1474.      
  1475.           Stop - refers to how many stop bits should be used.  This parameter
  1476.           hardly ever gets changed.  Unless you are specifically requested to
  1477.           use more than one stop bit, do not change this.  Valid stop bits are
  1478.           1 and 2.
  1479.      
  1480.      The next two lines are closely related to the way your modem handles speed
  1481.      changes.  When Qmodem is dialing a number from the phone book, it first
  1482.      changes the communication parameters (the ones on the top line) to match
  1483.      the computer you will be calling.  Some modems need commands to be sent to
  1484.      them BEFORE the baud rate is changed, while others need to receive
  1485.      characters AFTER the baud rate is changed.  Refer to your modem manual to
  1486.      see if either of these fields are required.
  1487.      
  1488.      The next line ask "How many seconds between Redial attempts".  When Qmodem
  1489.      is told to dial a number via Alt-D or Alt-Q, the Dial/Redial window opens.
  1490.      If the call is unsuccessful, Qmodem keeps trying the number until a
  1491.      connection is established.  The seconds between Redial attempts controls
  1492.      how fast Qmodem will redial.  The default is to wait 60 seconds before
  1493.      retrying.
  1494.      
  1495.      The fifth line controls how long Qmodem waits to cancel the current call.
  1496.      This used by modems that cannot detect a "BUSY" signal on the line and
  1497.      need to be told to cancel the call.  Never set this value to less than 30
  1498.      unless you are making local calls only!  It takes several seconds for a
  1499.      long distance call to be placed, for the other modem to answer, and
  1500.      establish a good connection.  Setting this value too low will just cause
  1501.      frustration on your part and the part of the Sysops running bulletin
  1502.      boards.  The default value is 60 seconds.  If you are using a Hayes or
  1503.      compatible modem, the modem itself has a timer to decide when to cancel a
  1504.      call.  Unfortunately, the default in the modem is 30 seconds.  Use the
  1505.      "Modem Init String" (next screen) to adjust this up to 60 seconds with the
  1506.      following command:
  1507.      
  1508.                ATS7=60{
  1509.      
  1510.      The sixth line ask how many milliseconds need to be inserted between
  1511.      characters sent to the modem in command mode.  Not all modems can accept
  1512.      commands at the full baud rate in command mode.  If your modem fails to
  1513.  
  1514.  
  1515.  
  1516.  
  1517.                  Copyright (C) by The Forbin Project, Inc.        15
  1518.  
  1519.  
  1520. Qmodem 3.0                                                            Qinstall
  1521.  
  1522.  
  1523.  
  1524.  
  1525.      dial reliably, try inserting 10 milliseconds between each character.  The
  1526.      default value is 0 because 99.9% of the modems do not have this problem.
  1527.      
  1528.      The last line ask which com port you want to use.  PC's normally can have
  1529.      only 2 com ports, but add-on boards can give you up to 8 com ports.
  1530.      PC-DOS can only address COM1 and COM2, but Qmodem can address all 8!  The
  1531.      default value is 1.  To access a com port higher than 2, see the third
  1532.      screen listed below.
  1533.      
  1534.      
  1535.      QINSTALL - MODEM SETUP #2
  1536.      
  1537.      Following is the Modem Setup #2 screen :
  1538.      
  1539.      ==========================================================================
  1540.      Qinstall - Modem Dial and Redial Parameters
  1541.      
  1542.      
  1543.      Message your Modem returns upon Connecting    [CONNECT       ]
  1544.      
  1545.      Four messages your Modem returns when Dialing was unsuccessful
  1546.        [NO CARRIER    ]  [BUSY          ]  [NO DIALTONE   ]  [NO CONNECT    ]
  1547.      
  1548.      String sent to cancel a Redial attempt ................ [{             ]
  1549.      
  1550.      String received that cancels a Redial attempt ......... [RING          ]
  1551.      
  1552.      Modem Initialization String   [AT{~~ATS7=60{                           ]
  1553.      
  1554.      Modem Dial Prefix [ATDT          ]    Modem Dial Suffix [{             ]
  1555.      
  1556.      String sent to Hang up the Modem ...................... [~~~+++~~~ATH{ ]
  1557.      
  1558.      Character (if any) to be sent twice in XMODEM transfers [  ]
  1559.      
  1560.      
  1561.      Press F1 for Help, F10 to Accept changes, or Esc to Exit        Insert Off
  1562.      ==========================================================================
  1563.      
  1564.      The first field is the string that your modem returns when it has a valid
  1565.      connection.  This can be confusing for those of you that have 'smart'
  1566.      modems.  By 'smart', we mean modems that can return the baud rate with the
  1567.      connect message.  Some examples are :
  1568.      
  1569.                          CONNECT
  1570.                          CONNECT 1200
  1571.                          CONNECT 2400
  1572.      
  1573.      As different as these all look, they all have the word 'CONNECT' in
  1574.      common.  If you were to enter 'CONNECT 1200' in the first field, Qmodem
  1575.      would only say a valid connection has been made if you connect at 1200
  1576.      baud.  Refer to your modem manual for the exact code(s) your modem returns
  1577.      when connected.
  1578.      
  1579.  
  1580.  
  1581.  
  1582.  
  1583.                  Copyright (C) by The Forbin Project, Inc.        16
  1584.  
  1585.  
  1586. Qmodem 3.0                                                            Qinstall
  1587.  
  1588.  
  1589.  
  1590.  
  1591.      The next line asks for 4 messages that your modem returns if it cannot
  1592.      complete the call.  The defaults work with most 'smart' modems.  Refer to
  1593.      your modem manual for the exact codes.
  1594.      
  1595.      The third line is used to cancel a call in progress.  The left curly brace
  1596.      is the default and sends a <CR>.  If your modem does not hang up when it
  1597.      receives a <CR>, then you can substitute the characters 'DTR' (all capital
  1598.      letters) for the left curly brace.  This will tell Qmodem to toggle the
  1599.      DTR (Data Terminal Ready) line to the modem.  99.9% of all modems will
  1600.      cancel the call in progress using the DTR method.
  1601.      
  1602.      The fourth line is used by the Redial routine.  This has been added to 3.0
  1603.      for those of you who must share the modem with your normal voice phone.
  1604.      Lets say you are calling some BBS's, and your friend is trying to reach
  1605.      you.  Between redial attempts, Qmodem is watching for this string to be
  1606.      returned by your modem in case you want to allow incoming phone calls.
  1607.      When your mother calls, your modem will send the RING string, and Qmodem
  1608.      will exit the redialer.  Otherwise, the phone may be ringing, and the
  1609.      redial will tell the modem to place another call, and your friend will
  1610.      hear a lot of strange noises!
  1611.      
  1612.      The next line is very important.  This is the line that gets sent to the
  1613.      modem every time you start Qmodem.  It is appropriately called the Modem
  1614.      Initialization string.  You would put any commands to the modem that may
  1615.      be needed to override the switches (if your modem has switches) to allow
  1616.      Qmodem to work correctly.  Earlier, we mentioned that it is desirable to
  1617.      make the modem wait 60 seconds before canceling a call (the default in the
  1618.      modem was 30 seconds).  Qinstall puts the correct commands for Hayes and
  1619.      compatible to change this to 60 seconds.  Other commands can be included
  1620.      as well.  The following line is recommended for 'AT' command modems to
  1621.      override most of the switches and let Qmodem run correctly:
  1622.      
  1623.                     AT E0 Q0 M1 X1 V1 S7=60 S11=60{
  1624.      
  1625.      Refer to your modem manual for the correct settings if different than what
  1626.      is listed.
  1627.      
  1628.      The next line deals with the the commands used to actually tell the modem
  1629.      to dial.  The default Prefix is ATDT (Attention Dial Tone).  If you only
  1630.      have access to pulse dial lines, change this to ATDP (Attention Dial
  1631.      Pulse).  The Suffix default is a left curly brace (<CR>).
  1632.      
  1633.      The seventh line is used with the Hangup command (Alt-H) in Qmodem.  The
  1634.      default is set for Hayes type modems.  If your modem hangs up better by
  1635.      toggling the DTR line, enter the characters 'DTR' (all capital letters).
  1636.      
  1637.      And last, what character (if any) need to be sent twice while using XMODEM
  1638.      type transfers.  The default is blank, because Hayes type modems do not
  1639.      have a problem.  But, if your modem is always in command mode, even while
  1640.      online (like the PCjr internal 300), then you should enter the character
  1641.      that starts a command sequence.  For the PCjr example, the character ^N is
  1642.      the command character.  You would enter the two characters ^ and N (this
  1643.      is a deviation from the normal convention).  Qinstall will convert the two
  1644.      characters to the real Control-N character.  If this field is non-blank
  1645.  
  1646.  
  1647.  
  1648.  
  1649.                  Copyright (C) by The Forbin Project, Inc.        17
  1650.  
  1651.  
  1652. Qmodem 3.0                                                            Qinstall
  1653.  
  1654.  
  1655.  
  1656.  
  1657.      and you are doing an XMODEM type transfer, when Qmodem sees this character
  1658.      to be sent, 2 of them are sent consecutively.  When the modem sees two
  1659.      command characters in a row, it will send just one out the phone line
  1660.      (which is what you wanted anyway!).
  1661.      
  1662.      Remember to use the F1 key for help with any field you are unsure of while
  1663.      using Qinstall.  A window will open up giving you context sensitive help
  1664.      on the field the cursor is in.  Now, on to the last Hardware screen.
  1665.      
  1666.      
  1667.      QINSTALL - PORT SETUP
  1668.      
  1669.      Following is the Port Setup screen :
  1670.      
  1671.      ==========================================================================
  1672.      Qinstall - Communications Port Addressing
  1673.      
  1674.      
  1675.                 Please refer to your Hardware manual for information
  1676.                 on BASE Address and IRQ settings.
  1677.      
  1678.      Comm Port #1           Base [hex] [3F8]   IRQ [4]
  1679.      
  1680.      Comm Port #2           Base [hex] [2F8]   IRQ [3]
  1681.      
  1682.      Comm Port #3           Base [hex] [3E8]   IRQ [4]
  1683.      
  1684.      Comm Port #4           Base [hex] [3E0]   IRQ [3]
  1685.      
  1686.      Comm Port #5           Base [hex] [2F0]   IRQ [4]
  1687.      
  1688.      Comm Port #6           Base [hex] [2E8]   IRQ [3]
  1689.      
  1690.      Comm Port #7           Base [hex] [000]   IRQ [0]
  1691.      
  1692.      Comm Port #8           Base [hex] [000]   IRQ [0]
  1693.      
  1694.      
  1695.      Press F1 for Help, F10 to Accept changes, or Esc to Exit        Insert Off
  1696.      ==========================================================================
  1697.      
  1698.      All the fields are entered in HEX (Base 16) which matches most hardware
  1699.      tech manuals.  COM1 and COM2 are already entered for you and are set to
  1700.      the PC defaults.  Only Qmodem lets you address up to eight different COM
  1701.      ports.  The example screen above shows 6 ports as being defined.  If the
  1702.      Base address contains '000', then the port is unavailable.  Ports 7 and 8
  1703.      above would be unavailable to the Alt-K command in Qmodem.
  1704.      
  1705.      If you have a serial port board that can be addressed as a COM port higher
  1706.      than 2, Qmodem can take advantage of it.  Some internal modems can also be
  1707.      configured as COM3 or COM4.  Again, Qmodem will work with these modems.  I
  1708.      have tested a Taiwanese board that has 4 serial ports on a half-size card
  1709.      and configured it as COM3...COM6 using the above listed parameters.  If
  1710.      you use such a board, make sure you enter the correct IRQ (Interrupt
  1711.  
  1712.  
  1713.  
  1714.  
  1715.                  Copyright (C) by The Forbin Project, Inc.        18
  1716.  
  1717.  
  1718. Qmodem 3.0                                                            Qinstall
  1719.  
  1720.  
  1721.  
  1722.  
  1723.      ReQuest) for each port.  If you are using a PC, XT, PCjr or close
  1724.      compatible, the IRQ's will be in the range of 0...7.  IBM PC/AT or
  1725.      compatible can use IRQ's 0...F.
  1726.      
  1727.      For those of you with a PCjr without the internal modem, you must change
  1728.      the default for COM1 and COM2 to :
  1729.      
  1730.           Comm Port #1           Base [hex] [2F8]   IRQ [4]
  1731.      
  1732.           Comm Port #2           Base [hex] [000]   IRQ [0]
  1733.      
  1734.      For modems that advertise COM3 and COM4 support, use the following values
  1735.      if the modem does not specifically tell you what to use :
  1736.      
  1737.           Comm Port #3           Base [hex] [3E8]   IRQ [4]
  1738.      
  1739.           Comm Port #4           Base [hex] [2E8]   IRQ [3]
  1740.      
  1741.      
  1742.      I realize that this sort of information is very technical, but I can't
  1743.      think of a better way to describe it.  If you are going to install a piece
  1744.      of hardware that goes above COM2, make sure you get some documentation
  1745.      that tells you the Base address and the IRQ to use.
  1746.      
  1747.      
  1748.      QINSTALL - DIRECTORIES : FILE & SUBDIRECTORY SETUP
  1749.      The Qinstall Directories Menu is as follows :
  1750.      
  1751.               1) File Directories #1
  1752.               2) File Directories #2
  1753.               3) Additional Transfer Protocols
  1754.               X) Exit back to Main Menu
  1755.      
  1756.      All of these entries deal in directories and files used by Qmodem.  It is
  1757.      important to setup your working environment so you can keep track of the
  1758.      files you upload and download.  These directories you will create will
  1759.      keep your harddisk organized.  There are no sub-menus from this menu.
  1760.  
  1761.  
  1762.  
  1763.  
  1764.  
  1765.  
  1766.  
  1767.  
  1768.  
  1769.  
  1770.  
  1771.  
  1772.  
  1773.  
  1774.  
  1775.  
  1776.  
  1777.  
  1778.  
  1779.  
  1780.  
  1781.                  Copyright (C) by The Forbin Project, Inc.        19
  1782.  
  1783.  
  1784. Qmodem 3.0                                                            Qinstall
  1785.  
  1786.  
  1787.  
  1788.  
  1789.      QINSTALL - FILE DIRECTORIES #1
  1790.      
  1791.      Following is the File Directory #1 Setup screen :
  1792.      
  1793.      ==========================================================================
  1794.      Qinstall - File and Subdirectories Setup #1
  1795.      
  1796.      
  1797.      Enter the filename for the Screen Dumps.  Use Drive:\Path\Filename
  1798.        [C:\QMODEM\SCREEN.DMP                                            ]
  1799.      
  1800.      Enter the filename for Session Capture.   Use Drive:\Path\Filename
  1801.        [C:\QMODEM\SESSION.CAP                                           ]
  1802.      
  1803.      Enter the Download Directory Path.        Use Drive:\Path
  1804.        [C:\QMODEM\DOWNLOAD                                              ]
  1805.      
  1806.      Enter the Upload Directory Path.          Use Drive:\Path
  1807.        [C:\UPLOAD                                                       ]
  1808.      
  1809.      Enter the Script Directory Path.          Use Drive:\Path
  1810.        [C:\QMODEM\SCRIPTS                                               ]
  1811.      
  1812.      Enter the Help File Directory Path.       Use Drive:\Path
  1813.        [C:\QMODEM                                                       ]
  1814.      
  1815.      
  1816.      Press F1 for Help, F10 to Accept changes, or Esc to Exit        Insert Off
  1817.      ==========================================================================
  1818.      
  1819.      The first entry is the default filename for all screen dumps while in
  1820.      Qmodem.  As you run Qmodem, you may see some information on the screen
  1821.      that you would like to save.  Pressing ALT-T  will capture the screen to
  1822.      this file.  If the file does not exist, it will be created.  If the file
  1823.      already exists, you either append the new screen to the existing on, or
  1824.      change the name and create a new file.  (See ALT-T in the Command Section)
  1825.      
  1826.      The second entry is the default name for the Capture File.  The Capture
  1827.      File is a running record of all text data that has been displayed.  It
  1828.      works much the same way as the Screen Dump file, except it it captures ALL
  1829.      text until you turn it off.  (See CTRL-HOME in the Commands Section)
  1830.      
  1831.      The third entry is the default Download Directory Path.  This is a
  1832.      subdirectory that you should create to temporarily store files you have
  1833.      downloaded from host computers or BBS's.  Note that the entry does NOT end
  1834.      in a "\".  This will be appended when you are prompted for a filename in
  1835.      the download part of Qmodem.
  1836.      
  1837.      The fourth entry is the default Upload Directory Path.  This too is a
  1838.      subdirectory you should create to store the files you will be uploading to
  1839.      a host computer or BBS.  Again, this entry does not end with the "\"
  1840.      character.  If you do a lot of uploading and downloading from BBS's, you
  1841.      may want to make both the Upload Directory Path and the Download Directory
  1842.      Path the same.  Then you can download a file from one BBS and call another
  1843.  
  1844.  
  1845.  
  1846.  
  1847.                  Copyright (C) by The Forbin Project, Inc.        20
  1848.  
  1849.  
  1850. Qmodem 3.0                                                            Qinstall
  1851.  
  1852.  
  1853.  
  1854.  
  1855.      BBS and upload the same file without moving it physically on your
  1856.      harddisk.
  1857.      
  1858.      The fifth entry it the default Scripts Directory Path.  This is where you
  1859.      will store all the Scripts that you write for Qmodem.  If this entry is
  1860.      left blank, then the Scripts are assumed to be in the currently logged
  1861.      drive:\directory.  It this is subdirectory exists (you have created it),
  1862.      then all scripts will be executed from here.
  1863.      
  1864.      The last entry is the Help File Directory.  This is where the file
  1865.      QMODEM.HLP resides.  It MUST be defined correctly for the help function of
  1866.      Qmodem to work.  If left blank, the online help will not work.
  1867.  
  1868.  
  1869.  
  1870.  
  1871.  
  1872.  
  1873.  
  1874.  
  1875.  
  1876.  
  1877.  
  1878.  
  1879.  
  1880.  
  1881.  
  1882.  
  1883.  
  1884.  
  1885.  
  1886.  
  1887.  
  1888.  
  1889.  
  1890.  
  1891.  
  1892.  
  1893.  
  1894.  
  1895.  
  1896.  
  1897.  
  1898.  
  1899.  
  1900.  
  1901.  
  1902.  
  1903.  
  1904.  
  1905.  
  1906.  
  1907.  
  1908.  
  1909.  
  1910.  
  1911.  
  1912.  
  1913.                  Copyright (C) by The Forbin Project, Inc.        21
  1914.  
  1915.  
  1916. Qmodem 3.0                                                            Qinstall
  1917.  
  1918.  
  1919.  
  1920.  
  1921.      QINSTALL - FILE DIRECTORIES #2
  1922.      
  1923.      Following is the File Directory #2 Setup screen :
  1924.      
  1925.      ==========================================================================
  1926.      Qinstall - File and Subdirectories Setup #2
  1927.      
  1928.      
  1929.      Enter Default Browse Program for Alt-V    Use Drive:\Path\Filename
  1930.        [TYPE                                                            ]
  1931.      
  1932.      Enter the filename for Scroll Capture.    Use Drive:\Path\Filename
  1933.        [C:\QMODEM\SCROLL.SAV                                            ]
  1934.      
  1935.      Enter the filename for Session Logging.   Use Drive:\Path\Filename
  1936.        [C:\QMODEM.LOG                                                   ]
  1937.      
  1938.      Automatically LOG Session when Qmodem is started?  [Y/N]         [Y]
  1939.      
  1940.      
  1941.      Press F1 for Help, F10 to Accept changes, or Esc to Exit        Insert Off
  1942.      ==========================================================================
  1943.      
  1944.      The first entry is the name of a Browse or List program you would like to
  1945.      invoke while running Qmodem.  This could be any type of program you use to
  1946.      view a file.  Even WordStar(tm) could be invoked if that is what you
  1947.      prefer.  The DOS TYPE command is also valid if you want to do a quick
  1948.      look-see of a file.
  1949.      
  1950.      The second entry is the default Scroll Capture file.  This is the file
  1951.      that will be created or appended to when you want to save the text data in
  1952.      the Scroll-Back buffer.  (See UP-ARROW in the Command Section)
  1953.      
  1954.      The third entry is the default Session LOG file.  While Qmodem is running,
  1955.      you can keep a LOG of the most important functions that are executed.
  1956.      When you placed a call and who you called; when you hugh up and how long
  1957.      you were online; and the upload and download information.
  1958.      
  1959.      The last entry is a Yes/No question relating to the LOG file.  This will
  1960.      determine if the LOG file is to be opened when you start Qmodem.  It is
  1961.      useful to set this to "Y" so you never have to say to your self,"Gee, I
  1962.      wish I would have remembered to turn the LOG file on".  (I have already!)
  1963.  
  1964.  
  1965.  
  1966.  
  1967.  
  1968.  
  1969.  
  1970.  
  1971.  
  1972.  
  1973.  
  1974.  
  1975.  
  1976.  
  1977.  
  1978.  
  1979.                  Copyright (C) by The Forbin Project, Inc.        22
  1980.  
  1981.  
  1982. Qmodem 3.0                                                            Qinstall
  1983.  
  1984.  
  1985.  
  1986.  
  1987.      QINSTALL - ADDITIONAL TRANSFER PROTOCOLS
  1988.      
  1989.      Following is the Transfer Protocol Setup screen :
  1990.      
  1991.      ==========================================================================
  1992.      Qinstall - Additional Transfer Protocols
  1993.      
  1994.      
  1995.      Selection Characters A,X,C,R,Y,G,I are pre-defined.
  1996.      No blank lines are allowed.
  1997.      
  1998.      
  1999.          Sel  Name of          Upload Batch     Download Batch   Download File
  2000.          Char Protocol         Filename         Filename         Prompt [Y/N]
  2001.      
  2002.       1  [B]  [Batch Ymodem]   [SYB.BAT     ]   [RYB.BAT     ]      [N]
  2003.       2  [Z]  [Zmodem      ]   [SZ.BAT      ]   [RZ.BAT      ]      [N]
  2004.       3  [K]  [Super Kermit]   [KERMITS.BAT ]   [KERMITR.BAT ]      [N]
  2005.       4  [W]  [WXmodem     ]   [WXS.BAT     ]   [WXR.BAT     ]      [Y]
  2006.       5  [ ]  [            ]   [            ]   [            ]      [N]
  2007.       6  [ ]  [            ]   [            ]   [            ]      [N]
  2008.       7  [ ]  [            ]   [            ]   [            ]      [N]
  2009.       8  [ ]  [            ]   [            ]   [            ]      [N]
  2010.       9  [ ]  [            ]   [            ]   [            ]      [N]
  2011.      10  [ ]  [            ]   [            ]   [            ]      [N]
  2012.      
  2013.      
  2014.      Press F1 for Help, F10 to Accept changes, or Esc to Exit        Insert Off
  2015.      ==========================================================================
  2016.      
  2017.      This page gives Qmodem incredible expansion possibilities without re-
  2018.      compiling the program.  When a new transfer protocol is developed, a
  2019.      module that does just the transfer can be added to Qmodem by means of
  2020.      simple BATCH files.  The four protocols listed above are included with
  2021.      Qmodem.
  2022.      
  2023.      Basically, every protocol you want to add to Qmodem requires 5 pieces of
  2024.      information:
  2025.      
  2026.           The character that selects the new protocol.
  2027.      
  2028.           The name of the protocol
  2029.      
  2030.           The BAT file that invokes the Upload.
  2031.      
  2032.           The BAT file that invokes the Download.
  2033.      
  2034.           The prompt for a filename when downloading.
  2035.      
  2036.      
  2037.      QINSTALL - ADDING A NEW PROTOCOL
  2038.      
  2039.      The first column is the character that selects the new protocol.  It can
  2040.      be any alpha-numeric character (0...9 & A...Z) except for the protocols
  2041.  
  2042.  
  2043.  
  2044.  
  2045.                  Copyright (C) by The Forbin Project, Inc.        23
  2046.  
  2047.  
  2048. Qmodem 3.0                                                            Qinstall
  2049.  
  2050.  
  2051.  
  2052.  
  2053.      that are already pre-defined in Qmodem.  The letters A,X,C,R,Y,G,I
  2054.      represent the protocols built into Qmodem and cannot be re-used.  Also,
  2055.      there can be no duplication of a selection character.  Qinstall will not
  2056.      allow it.  Third, there can be no blanks spaces separating the new
  2057.      protocols.  If a blank selection character is found, then that is
  2058.      considered the end of the list.
  2059.      
  2060.      Assuming you have a valid selection character (like the letter B in the
  2061.      above example), you can then build the BAT files.
  2062.      
  2063.      Here is the BAT file for the Ymodem Batch Upload:
  2064.      
  2065.                     ECHO OFF
  2066.                     ECHO This is 1 [%1]
  2067.                     ECHO This is 2 [%2]
  2068.                     ECHO This is 3 [%3]
  2069.                     DSZ port %2 speed %1 sb %3
  2070.      
  2071.      Qmodem passes the BAT file three parameters.  The current port speed, the
  2072.      port number (single digit) and the filename(s).  For clarity, lets assume
  2073.      that we are communicating at 2400 baud on COM1: and are sending all the
  2074.      EXE files in the current directory.  First, you will select the letter "B"
  2075.      from the upload window (more on that in the Commands Section).  Then
  2076.      Qmodem will prompt for the Filename(s) and you enter "*.EXE".  The BAT
  2077.      file is then invoked.  On your screen you would see:
  2078.      
  2079.                     ECHO OFF
  2080.                     This is 1 [2400]
  2081.                     This is 2 [1]
  2082.                     This is 3 [*.exe]
  2083.                     (then DSZ begins to execute)
  2084.      
  2085.      The same procedure would be used for the download BAT files.
  2086.      
  2087.      If the download protocol requires a filename to be entered, make sure you
  2088.      put a "Y" in the last column.  This will tell Qmodem to ask you for a
  2089.      filename when the you select the protocol.  It will get passed to the
  2090.      download BAT file as parameter %3.
  2091.      
  2092.      The BAT files should be located in the current default directory or
  2093.      another directory that is in the DOS PATH.  Also, the programs that do the
  2094.      actual file transfer should be accessible by the PATH.  If either of these
  2095.      conditions are not met, the transfer of the file(s) fails.
  2096.      
  2097.      
  2098.  
  2099.  
  2100.  
  2101.  
  2102.  
  2103.  
  2104.  
  2105.  
  2106.  
  2107.  
  2108.  
  2109.  
  2110.  
  2111.                  Copyright (C) by The Forbin Project, Inc.        24
  2112.  
  2113.  
  2114. Qmodem 3.0                                                            Qinstall
  2115.  
  2116.  
  2117.  
  2118.  
  2119.      QINSTALL - DELETING A PROTOCOL
  2120.      
  2121.      To erase a protocol definition, you only need to erase the selection
  2122.      character.  Qinstall will clear the other fields when the F10 key is
  2123.      pressed.  Protocols pre-defined in Qmodem cannot be deleted.
  2124.      
  2125.      
  2126.      QINSTALL - RUNTIME SETUP : ASSORTED DEFAULT PARAMETERS
  2127.      
  2128.      Following is the RunTime Setup sub-menu.
  2129.      
  2130.               1) Defaults #1
  2131.               2) Defaults #2
  2132.               X) Exit back to Main Menu
  2133.      
  2134.      This is where the assorted features (whistles & bells) are defined.  There
  2135.      are no sub menus from this menu.
  2136.      
  2137.      
  2138.      QINSTALL - DEFAULTS #1
  2139.      
  2140.      Following is the Misc. parameters #1 setup screen :
  2141.      
  2142.      ==========================================================================
  2143.      Qinstall - Misc. Parameters   Part 1
  2144.      
  2145.      
  2146.      Do you want to use XON / XOFF ..... [Y/N]  [N]
  2147.      
  2148.      Do you want Qmodem to make noise .. [Y/N]  [Y]
  2149.      
  2150.      Do you want to add LINEFEEDS to CRs [Y/N]  [N]
  2151.      
  2152.      Do you want MUSIC played when found [Y/N]  [N]
  2153.      
  2154.      Do you want the Windows to GROW ... [Y/N]  [N]
  2155.      
  2156.      Do you want CTS signal checking ... [Y/N]  [N]
  2157.      
  2158.      Do you want Redial to set Baud rate [Y/N]  [N]
  2159.      
  2160.      Swap the BS to DEL on Startup ..... [Y/N]  [N]
  2161.      
  2162.      Memory for Stack/Heap [0C00..A000] (hex)   [0C00]
  2163.      
  2164.      Press F1 for Help, F10 to Accept changes, or Esc to Exit        Insert Off
  2165.      ==========================================================================
  2166.      
  2167.      The first entry is the default mode of XON/XOFF flow control.  This is
  2168.      either on or off when Qmodem is started.   For more information on
  2169.      XON/XOFF, see ALT-Z in the Commands Section.
  2170.      
  2171.      The second entry is the default mode of the Beeps and Bells in Qmodem.
  2172.      More to the point, this setting controls how much noise Qmodem will make
  2173.  
  2174.  
  2175.  
  2176.  
  2177.                  Copyright (C) by The Forbin Project, Inc.        25
  2178.  
  2179.  
  2180. Qmodem 3.0                                                            Qinstall
  2181.  
  2182.  
  2183.  
  2184.  
  2185.      through the PC's speaker.  Things like the alarms when a successful
  2186.      connection has been established, a successful download has completed, etc.
  2187.      In an office environment, you wish to 'silence' Qmodem to literally keep
  2188.      the peace.
  2189.      
  2190.      The third entry controls how Qmodem handles incoming Carriage Returns
  2191.      (CRs).  Normally, this will be "N".  But if you do come across a system
  2192.      where it seems like the lines are writing on top of each other, you may
  2193.      need to turn this on.  This is also a toggle in Qmodem, (SHIFT-TAB) so if
  2194.      can be changed on the fly.
  2195.      
  2196.      The fourth entry works in combination with ANSI graphics that are put on
  2197.      some fancy BBS's.  Music is encoded escape sequences that Qmodem turns
  2198.      into real tunes.
  2199.      
  2200.      The fifth entry controls how the windows open up.  A 'growing' window
  2201.      makes the window sort of zoom open.  The normal mode of operation just
  2202.      pops the window open without all the special effects.
  2203.      
  2204.      The sixth entry is very important when dealing with modems that need
  2205.      CTS/RTS flow control.  CTS/RTS flow control is most used with high speed
  2206.      modems (those that can operate at 4800 baud and up) and those that use
  2207.      internal error correction.  The MNP protocol from Microcom(tm) is one
  2208.      example of internal error correction.  If you need this special flow
  2209.      control method, then set this value to "Y".  (For more information on
  2210.      CTS/RTS, see PGDN and PGUP in the Commands Section)
  2211.      
  2212.      The seventh entry tells Qmodem if it should adjust the serial port baud
  2213.      rate when a connection has been made in the Dial - Redial window.  Most
  2214.      intelligent modems can return a CONNECT string that tells you at what
  2215.      speed the connection was made.  Some examples would be:
  2216.      
  2217.                               CONNECT 1200
  2218.                               CONNECT 2400
  2219.                               CONNECT 9600/REL
  2220.      
  2221.      If this entry is set to "Y", Qmodem will look at the string for the baud
  2222.      rate and adjust the serial port accordingly.  If you have a modem that can
  2223.      'lock-in' at a set baud rate, say 19200, then this entry should remain
  2224.      "N".  If you lock the modem in at 19200 and this is a "Y", when a
  2225.      connection is made at any speed other than 19200, Qmodem will reset the
  2226.      serial port and you screens of garbage characters.  If your modem is an
  2227.      internal unit, check to see if automatically adjusts the serial port when
  2228.      a connection is made.  If it does, then this should be set to "N".
  2229.      
  2230.      The eighth entry controls the output of the backspace key.  Normally, when
  2231.      you hit the backspace key, it sends out the ^H character.  If you are
  2232.      using a mainframe, it may require the DEL character (ASCII 127) as a
  2233.      backspace.  If this entry is a "Y", the initial state of the backspace key
  2234.      is a DEL.  Otherwise it is a standard ^H.  In either case, hitting a CTRL-
  2235.      Backspace will produce the opposite code of the default mode.  This can
  2236.      also be toggled online with the ALT-1 command.
  2237.      
  2238.  
  2239.  
  2240.  
  2241.  
  2242.  
  2243.                  Copyright (C) by The Forbin Project, Inc.        26
  2244.  
  2245.  
  2246. Qmodem 3.0                                                            Qinstall
  2247.  
  2248.  
  2249.  
  2250.  
  2251.      The last entry deals with Memory Allocation.  Qmodem requires a minimum of
  2252.      0C00 hex paragraphs of memory for internal use.  A paragraph being 16
  2253.      bytes.  This memory is used to store screen images, temporary data, and
  2254.      the lines of text that scroll off the top of the screen.  With the default
  2255.      setting of 0C00 paragraphs, you can store the last 36 lines of text.
  2256.      Increasing the amount of paragraphs lets Qmodem store more scroll back
  2257.      data.  If you allocate too many paragraphs to the scroll back, then the
  2258.      external protocols and the "drop to DOS" features will cease to function.
  2259.      For a fairly large scroll back, try a setting of 2000 paragraphs.  This
  2260.      will make Qmodem take up about 256K of memory, and still leave room for
  2261.      your TSR's like SideKick(tm) and SuperKey(tm).  This is of course assuming
  2262.      you have at least 512K in your machine.  Experimentation is the only way
  2263.      to find what works with your system and TSR's.
  2264.      
  2265.      
  2266.      QINSTALL - DEFAULTS #2
  2267.      
  2268.      Following is the Misc. parameters #2 setup screen :
  2269.      
  2270.      ==========================================================================
  2271.      Qinstall - Misc. Parameters   Part 2
  2272.      
  2273.      
  2274.      Does your screen blink when Scrolling [Y/N]? [N]
  2275.      
  2276.      Status window duration in Seconds [real]     [3.0 ]
  2277.      
  2278.      Additional Seconds added to Transfer Timeout [0   ]
  2279.      
  2280.      Are you using a PCjr?                        [N]
  2281.      
  2282.      Connect Tones, up to 3 may be defined        [1200] [1400] [1600]
  2283.      
  2284.      Download Completion Tone                     [800 ]
  2285.      
  2286.      Upload Completion Tone                       [800 ]
  2287.      
  2288.      Default Terminal Emulation                   [B]
  2289.        [A] TTY        [B] ANSI
  2290.        [C] VT100      [D] TVI 925
  2291.      
  2292.      Press F2 to hear Connect, F3 to hear Download, F4 to hear Upload
  2293.      Press F1 for Help, F10 to Accept changes, or Esc to Exit        Insert Off
  2294.      ==========================================================================
  2295.      
  2296.      The first entry controls the way Qmodem accesses the video memory.  If you
  2297.      notice 'snow' on your screen when Qmodem is opening or closing a window,
  2298.      then this should be set to "Y".  Monochrome and EGA video cards can leave
  2299.      this field "N".
  2300.      
  2301.      The second entry controls how long the little status windows will remain
  2302.      open on the screen.  All of the toggles active in Qmodem will generate a
  2303.      'Toggle' window momentarily on the screen.  After you are comfortable with
  2304.      all of the toggles, you can make them just blink on and off by setting
  2305.  
  2306.  
  2307.  
  2308.  
  2309.                  Copyright (C) by The Forbin Project, Inc.        27
  2310.  
  2311.  
  2312. Qmodem 3.0                                                            Qinstall
  2313.  
  2314.  
  2315.  
  2316.  
  2317.      this to near 0.  This is a REAL number field and requires you to enter the
  2318.      decimal place.
  2319.      
  2320.      The third entry controls the timing of the transfer protocols when using a
  2321.      high speed modem or when you lock in the serial port at a high speed.  The
  2322.      default is "0" seconds of added delay.  If you experience "Short Block
  2323.      Errors" of erratic transfer errors and you are using the serial port above
  2324.      2400 baud, then increase this to around 20 seconds.  The bigger the gap
  2325.      between the serial port rate and the actual communications rate, the
  2326.      higher this number needs to be.  We have found that even at 19200, this
  2327.      rarely needs to go above 20 seconds.
  2328.      
  2329.      The fourth entry is quite obvious.  If you are using a PCjr, it must have
  2330.      at least 256K of memory.  This will control how the serial port is
  2331.      initialized.  Qmodem uses the BIOS to control the port if you are using a
  2332.      jr, otherwise, a more direct method is used.
  2333.      
  2334.      The fifth through seventh entries control the tones made when a valid
  2335.      connection has been made.  You can test hear your selections by pressing
  2336.      the F2 key.
  2337.      
  2338.      The eighth entry is the tone for the successful Download completion. You
  2339.      can test hear your selection by pressing the F3 key.
  2340.      
  2341.      The ninth entry is the tone for the successful Upload completion.  You can
  2342.      test hear your selection by pressing the F4 key.
  2343.      
  2344.      The last entry is the default terminal emulation mode of Qmodem.  You can
  2345.      change this online if you need another.  For more information, see the
  2346.      Terminal Emulation Section.
  2347.      
  2348.      
  2349.      QINSTALL - SAVE AND EXIT.
  2350.      Pressing the "S" key will save your new configuration to the QMODEM.CNF
  2351.      file and exit.
  2352.      
  2353.      
  2354.      QINSTALL - ABORTING THE CHANGES.
  2355.      Pressing the "Q" key will exit Qinstall without changing the QMODEM.CNF
  2356.      file.  If, however, you are executing Qinstall via the ALT-N from Qmodem,
  2357.      the changes are immediately effective but not stored.
  2358.  
  2359.  
  2360.  
  2361.  
  2362.  
  2363.  
  2364.  
  2365.  
  2366.  
  2367.  
  2368.  
  2369.  
  2370.  
  2371.  
  2372.  
  2373.  
  2374.  
  2375.                  Copyright (C) by The Forbin Project, Inc.        28
  2376.  
  2377.  
  2378. Qmodem 3.0                                                      Starting Qmodem
  2379.  
  2380.  
  2381.  
  2382.  
  2383.      STARTING QMODEM
  2384.      
  2385.      Qmodem is started by entering "Qmodem [ENTER]" from the DOS prompt like
  2386.      the following.
  2387.      
  2388.           A>Qmodem [ENTER]
  2389.      
  2390.      Now you should see the flashing QMODEM SST logo and the Shareware message
  2391.      on the screen.
  2392.      
  2393.      Please read the opening screen carefully.  Press any key to continue on
  2394.      into Qmodem.  At the top of the next screen, Qmodem displays the version
  2395.      logo and begins to configure itself for operation.
  2396.      
  2397.      Qmodem looks for 5 files on the disk as follows:
  2398.      
  2399.                     QMODEM.CNF - the configuration file.
  2400.                     QMODEM.KEY - the function key file.
  2401.                     QMODEM.PRE - the dialing prefix file.
  2402.                     QMODEM.FON - the dialing directory file.
  2403.                     QMODEM.WND - the window definition file.
  2404.      
  2405.      If you are just starting and do not have the files listed above, Qmodem
  2406.      will create most of them for you.  Two of them, QMODEM.CNF and QMODEM.WND,
  2407.      are created by the Qinstall program.  For the dialing directory, Qmodem
  2408.      will initialize all of the communication parameters by asking several
  2409.      questions.  Once all the questions have been answered and the QMODEM.FON
  2410.      file created, the main screen screen is displayed.
  2411.      
  2412.      Qmodem will read the CNF file and get ready for your first command.
  2413.      
  2414.      
  2415.      THE STATUS LINE.
  2416.      
  2417.      If you have used Qmodem before, the first thing that will strike you is
  2418.      that there now is a Status Line at the bottom of the screen!  Lets take a
  2419.      closer look at what it contains.
  2420.      
  2421.         1      2        3          4        5  /--------- 6 ---------\    7
  2422.       ANSI Offline 2400-8-N-1 | [Home]=? | <=< 8 EC LF X '" CP LG ^ PR | TIME
  2423.      
  2424.      There are seven different areas in the status line as shown above. (The
  2425.      above line has been modified because all printers cannot print the exact
  2426.      characters used)
  2427.      
  2428.      Area 1 shows the current terminal emulation in effect.  In the example
  2429.      above, ANSI is active.  The four possibilities are :
  2430.      
  2431.                               TTY
  2432.                               ANSI
  2433.                               VT100
  2434.                               TVI 925
  2435.      
  2436.  
  2437.  
  2438.  
  2439.  
  2440.  
  2441.                  Copyright (C) by The Forbin Project, Inc.        29
  2442.  
  2443.  
  2444. Qmodem 3.0                                                      Starting Qmodem
  2445.  
  2446.  
  2447.  
  2448.  
  2449.      In area number 2 is the ONLINE / Offline cue.  When you are actually
  2450.      online with another computer, the display will say "ONLINE".  When you
  2451.      first start Qmodem, this will say "Offline" as does the above example.
  2452.      
  2453.      Area 3 tells you your current Baud Rate, Data Bits, Parity, and Stop Bits.
  2454.      This will change as you select different settings from the ALT-P menu or
  2455.      as set in the Dialing directory for each number.
  2456.      
  2457.      The 4th area tells you how to bring up the Main Menu.  By pressing the
  2458.      HOME key (on the numeric keypad), a full screen window will open up
  2459.      showing you all of the available commands.  Also from the Main Menu, you
  2460.      can get help on a particular command that you are having trouble with.
  2461.      The Main Menu will be discussed a little further on, so lets get back to
  2462.      the Status line.
  2463.      
  2464.      Area 5 shows you the current state of the backspace key (not to be
  2465.      confused with the left arrow on the numeric keypad).  The backspace key is
  2466.      located above the [ENTER] key.  This will either be "<=<" or "<=*" (where
  2467.      the asterisk looks like an upside-down home plate).  The second setting
  2468.      means the backspace key sends out the DEL keystroke used in terminal
  2469.      emulations.  For more information on the backspace toggle, see the ALT-1
  2470.      command.
  2471.      
  2472.      Area 6 shows you the state of the rest of the toggles in Qmodem.  There
  2473.      are 10 in all.  From left to right:
  2474.      
  2475.           8    shows you if you are stripping or using the high-bit.  A "7"
  2476.                means that the high bits are stripped, and an "8" means all bits
  2477.                are used.
  2478.           
  2479.           EC   shows you if local echo is on.  Local echo means that Qmodem
  2480.                will display your keystrokes.  This is sometimes called "Half-
  2481.                Duplex".  If this spot is blank, then the remote computer is
  2482.                expected to echo your characters back to you ("Full-Duplex").
  2483.           
  2484.           LF   which means a Linefeed will be added to all incoming carriage
  2485.                returns.  If disabled, this will be blank.
  2486.           
  2487.           X    shows you the current state of the Xon/Xoff flow control.  If
  2488.                this is blank, then Xon/Xoff is ignored by Qmodem.
  2489.           
  2490.           '    The next one is displayed by a single quote in the example, but
  2491.                on your screen will show as a single musical note.  This means
  2492.                that Qmodem will make noise on the PC's speaker.  If this is
  2493.                blank, Qmodem is mute.
  2494.           
  2495.           "    The double quote in the example is really a double musical note.
  2496.                This tells you if Qmodem will play ANSI Music if it sees it.  If
  2497.                this is blank, then the ANSI Music not play.
  2498.           
  2499.           CP   Tells you if you have the Capture Buffer open.  If this is
  2500.                blank, then you are not saving text to a disk file...
  2501.           
  2502.  
  2503.  
  2504.  
  2505.  
  2506.  
  2507.                  Copyright (C) by The Forbin Project, Inc.        30
  2508.  
  2509.  
  2510. Qmodem 3.0                                                      Starting Qmodem
  2511.  
  2512.  
  2513.  
  2514.  
  2515.           LG   Tells you if you have the Session LOG turned on.  If this is
  2516.                blank, then the LOG is not recording.
  2517.           
  2518.           ^    This really looks like an UP-ARROW on the status line.  If this
  2519.                is not blank, then Qmodem is storing the lines that scroll off
  2520.                the top of the screen in a "Scrollback" area.
  2521.           
  2522.           PR   This tells you if you are copying the text on the screen to your
  2523.                printer.  This should be evident by your printer working away.
  2524.           
  2525.           
  2526.      And last on the Status Line is the System Clock.  This clock has two
  2527.      modes, Real-Time and Elapsed-Time online.  When the status line reads
  2528.      "ONLINE", the clock begins at 00:00:00 and counts up to show you how long
  2529.      you have been on.  When you go offline, it will revert back to the current
  2530.      system time.
  2531.      
  2532.      
  2533.      THE HOME MENU
  2534.      
  2535.      Following is a snapshot of the Home Menu :
  2536.      
  2537.      +=[ Command Menu, Help and Status ]======================================+
  2538.      | Alt-A Xlate Table     Alt-J Function Key Set  Alt-S Split Scrn Toggle  |
  2539.      | Alt-B Beeps&Bells     Alt-K Change Comm Port  Alt-T Screen Dump        |
  2540.      | Alt-C Clear Screen    Alt-L Log Drive Change  Alt-U Scroll Back Toggle |
  2541.      | Alt-D Dial Phone      Alt-M ANSI Music Mode   Alt-V View/Edit File     |
  2542.      | Alt-E Character Echo  Alt-N Invoke QINSTALL   Alt-W Disk Directory     |
  2543.      | Alt-F SCRIPTS         Alt-O Change Sub-Dirs   Alt-X Exit Qmodem        |
  2544.      | Alt-G Term Emulation  Alt-P Change Baud       Alt-Y Delete a File      |
  2545.      | Alt-H Hang-up Modem   Alt-Q Redial Number     Alt-Z Xon/Xoff Toggle    |
  2546.      | Alt-I Program Info    Alt-R DOS Shell         Alt-0 Session Log Toggle |
  2547.      |                                                                        |
  2548.      | Alt-8    8 Bit Toggle   Alt-1 BS-DEL Switch   Ctrl-Home  Capture File  |
  2549.      | Up-Arrow Scroll Back    PgDn  Download Files  Ctrl-End   BREAK Signal  |
  2550.      | Shft-Tab Add Linefeed   PgUp  Upload Files    Ctrl-PrtSc Printer Echo  |
  2551.      |    ------------------------[ EGA Modes ]--------------------------     |
  2552.      |    Alt-2 80x25  Alt-3 80x35  Alt-4 80x43  Alt-5 80x50  Alt-6 80x57     |
  2553.      |                                                                        |
  2554.      | ------[ Qmodem Toggles ]-------  -[ Time ]-  -----[ Copyright ]------  |
  2555.      | Echo      Off  Capture      Off   13:35:23   The Forbin Project        |
  2556.      | Linefeeds Off  ScrollBack   ON               4945 Colfax Avenue S.     |
  2557.      | Xon/Xoff  Off  Printer      Off  -[Online]-  Minneapolis, MN  55409    |
  2558.      | Beeps     ON   LOG Session  Off   01:21:59   Support # : 612-824-1451  |
  2559.      | Music     ON   8th bit      ON               Data Line : 612-824-8167  |
  2560.      +=========[ Qmodem SST Version 3.0 Compiled  April 2, 1987 ]=============+
  2561.      ##### Press any key combination, [F1] for Help, or [ENTER] to return #####
  2562.      
  2563.      
  2564.      There are 5 main areas to the Home Menu :
  2565.      
  2566.           The main ALT commands that are divided into two groups.
  2567.           
  2568.  
  2569.  
  2570.  
  2571.  
  2572.  
  2573.                  Copyright (C) by The Forbin Project, Inc.        31
  2574.  
  2575.  
  2576. Qmodem 3.0                                                      Starting Qmodem
  2577.  
  2578.  
  2579.  
  2580.  
  2581.           The EGA Modes which are displayed if your computer has an EGA card
  2582.           installed.  Otherwise, the EGA area contains a suggestion to register
  2583.           your copy of Qmodem (hint, hint).
  2584.           
  2585.           The Toggle display area in the lower left corner
  2586.           
  2587.           The lower center always shows you the current system time and elapsed
  2588.           online time if you are currently online.
  2589.           
  2590.           The lower right shows where to send in your contribution and the
  2591.           voice & data numbers for The Forbin Project.
  2592.           
  2593.           
  2594.      When the Main Menu is displayed, you will notice that the Status Line has
  2595.      changed. (see above example)  What it is saying is; you can press a key
  2596.      combination to execute the command, press the F1 key for Help on a
  2597.      command, or press [ENTER] to go back to terminal mode.
  2598.      
  2599.      Throughout the program, the Status Line will always tell you what your
  2600.      options are and give you help.  Remember to check the Status Line if you
  2601.      are stuck!
  2602.      
  2603.      So, lets get Help on a command.  Press the F1 key...
  2604.      
  2605.      Now the status line says :
  2606.      
  2607.      # Press the key combination you would like help with, or [Esc] to return #
  2608.      
  2609.      Lets say you want to know what the ALT-A command does.  With the above
  2610.      Status Line displayed, all you have to do is press ALT-A!  A window will
  2611.      open up and tell you more about the command.  All commands in the Main
  2612.      Menu can be viewed this way.
  2613.      
  2614.      If you pressed F1 and did not really mean it, the Status Line says to
  2615.      press the [Esc] key and you will return to the previous Status Line.
  2616.      
  2617.      See?  You're getting the hang of this!
  2618.      
  2619.      The [Esc] key will get you out of 99% of the windows and functions of
  2620.      Qmodem without doing any harm.  Now is a good chance to play with the
  2621.      Online Help system.  Select a few of the commands to get the feel of it.
  2622.      
  2623.      
  2624.      COMMAND LINE PARAMETERS
  2625.      
  2626.      There are two command line parameters for starting Qmodem.  The first one
  2627.      is a "/r" which stands for "Restart".  The /r will start up Qmodem as
  2628.      normal, but will not send the "Moden Init String".  You might use the /r
  2629.      restart if you had previously exited Qmodem via ALT-X (and the X
  2630.      subcommand) and now wanted to get back online.
  2631.      
  2632.      The second command line parameter is the /S=ScriptFile.  This is used to
  2633.      autostart a script file.  The characters "/s=" are required and the script
  2634.  
  2635.  
  2636.  
  2637.  
  2638.  
  2639.                  Copyright (C) by The Forbin Project, Inc.        32
  2640.  
  2641.  
  2642. Qmodem 3.0                                                      Starting Qmodem
  2643.  
  2644.  
  2645.  
  2646.  
  2647.      file should be located in the directory as specified in Qinstall.  If the
  2648.      file exists, then the script will start executing immediately.
  2649.      
  2650.      Samples:
  2651.      
  2652.           C>QMODEM /r[ENTER]    start without initializing the modem.
  2653.      
  2654.           C>Qmodem /r /s=dofirst.scr     same as above, but also start
  2655.                                          executing the script dofirst.scr.
  2656.  
  2657.  
  2658.  
  2659.  
  2660.  
  2661.  
  2662.  
  2663.  
  2664.  
  2665.  
  2666.  
  2667.  
  2668.  
  2669.  
  2670.  
  2671.  
  2672.  
  2673.  
  2674.  
  2675.  
  2676.  
  2677.  
  2678.  
  2679.  
  2680.  
  2681.  
  2682.  
  2683.  
  2684.  
  2685.  
  2686.  
  2687.  
  2688.  
  2689.  
  2690.  
  2691.  
  2692.  
  2693.  
  2694.  
  2695.  
  2696.  
  2697.  
  2698.  
  2699.  
  2700.  
  2701.  
  2702.  
  2703.  
  2704.  
  2705.                  Copyright (C) by The Forbin Project, Inc.        33
  2706.  
  2707.  
  2708. Qmodem 3.0                                                             Commands
  2709.  
  2710.  
  2711.  
  2712.  
  2713.      QMODEM COMMANDS.
  2714.      
  2715.      Now you are ready to learn all about the commands in Qmodem.  Each one
  2716.      will be gone through in depth and in somewhat alphabetical order.  The
  2717.      Online Help of the Main Menu is sort of a "quick help" and if you need to
  2718.      know more about the command, this is where to look.
  2719.      
  2720.      
  2721.      
  2722.      ALT-A  STRIP/REPLACE TABLE.
  2723.      
  2724.      Strip/Replace is more commonly known as character translation.  You would
  2725.      use translation when talking to a foreign computer that sends out ASCII
  2726.      codes your PC does not use or understand.
  2727.      
  2728.      An example would be:
  2729.           
  2730.           Some computers use the ASCII value 127 as a back space, while the PC
  2731.           uses the ASCII value 8.  When the computer wants to back space on
  2732.           your screen, you would see a bunch of upside-down "home plates" which
  2733.           is the PC symbol for ASCII 127.  You would like this to be changed to
  2734.           the ASCII value 8 your PC understands.  Although this sounds a little
  2735.           technical, it isn't.
  2736.      
  2737.      Pressing the ALT-A key combinations produces a screen containing the ASCII
  2738.      values 0 through 127 and their translated equivalents.  Above the
  2739.      translate table is the character representation of the highlighted entry,
  2740.      both received and translated.  Any characters that have been translated
  2741.      will appear highlighted until changed back to normal.  This is quick
  2742.      visual cue to what has been changed.
  2743.      
  2744.      If Qmodem is being run for the first time, all entries will have duplicate
  2745.      translate values.  This is referred to as "No translations".
  2746.      
  2747.      To change (translate) an incoming ASCII value, move the highlighted (semi
  2748.      box looking thing) around the table (up, down, left, and right) to the
  2749.      number/character you want to strip or replace.  The number to the left of
  2750.      the dash is the ASCII position in the table.  The number to the right of
  2751.      the dash is the character you will see when Qmodem receives the number on
  2752.      the left.  Press the Space Bar once.  You will receive a prompt at the
  2753.      bottom of the screen asking for an integer between 0 and 255.  To strip
  2754.      the character, replace the number on the right with a 0 (ZERO).  Press
  2755.      [ENTER] to complete the change.
  2756.      
  2757.      The 'S' key will swap the table showing the high bit entries 128- 255.
  2758.      Repeat the procedure to change any of these also.  When you are finished,
  2759.      press the [Esc] key to save the changes (if any) and return to Qmodem
  2760.      ready.
  2761.      
  2762.      
  2763.      
  2764.      
  2765.      ALT-B  BELLS AND BEEPS TOGGLE.
  2766.      
  2767.  
  2768.  
  2769.  
  2770.  
  2771.                  Copyright (C) by The Forbin Project, Inc.        34
  2772.  
  2773.  
  2774. Qmodem 3.0                                                             Commands
  2775.  
  2776.  
  2777.  
  2778.  
  2779.      Qmodem uses the PC's speaker to notify you of events you should be
  2780.      interested in.  Since Qmodem cannot control the volume of the speaker, it
  2781.      may be desirable to turn it off (or on, depending on you set the default
  2782.      in Qinstall).  The Bells and Beeps can be very distracting in an office
  2783.      environment.  You can toggle the noise on and off with ALT-B.
  2784.      
  2785.      
  2786.      
  2787.      ALT-C  CLEAR SCREEN.
  2788.      
  2789.      This will clear the screen of all information.  For those of you who call
  2790.      Bulletin Boards that have those neat color screens,  sometimes the colors
  2791.      end up different than you would like.   Using ALT-C will reset the color
  2792.      on your screen back to your configuration selections.
  2793.      
  2794.      If you have changed the screen colors with a Script command, then the
  2795.      colors specified in the Script will override the default colors.
  2796.      
  2797.      
  2798.      
  2799.      ALT-D  DIALING DIRECTORY.
  2800.      
  2801.      Qmodem has the capability to store up to 200 entries with information such
  2802.      as:  name, number, port configuration, script file for auto-logon, date of
  2803.      last connect, total connections, default transfer protocol, and duplex to
  2804.      use.
  2805.      
  2806.      After pressing ALT-D the following is displayed on the screen.
  2807.      
  2808.           * Dial number(s) [ <cr> for Dialing Directory, <Esc> to exit ]
  2809.           >
  2810.      
  2811.      
  2812.      This is referred to as the "quick entry" prompt.  You can enter your
  2813.      dialing directory number(s) and skip the dialing directory.
  2814.      
  2815.      All of the dialing prefix codes are valid.  For example, to dial directory
  2816.      number 12, you would just enter "12<cr>" and Qmodem will process the call.
  2817.      
  2818.           * Dial number(s) [ <cr> for Dialing Directory, <Esc> to exit ]
  2819.           > 12
  2820.      
  2821.      
  2822.      With the use of the alternate prefix codes, long distance services may be
  2823.      utilized.  Some services require the prefix codes before the actual
  2824.      number, another needs it just at the end of the number, while still others
  2825.      need two codes sent out.   Qmodem can handle all of the above cases with
  2826.      ease.  Refer to the dialing prefix subcommand below for a full
  2827.      interpretation on how to use the prefix codes.
  2828.      
  2829.      To Manual dial a number, you only need include the letter 'M' somewhere in
  2830.      the number.  So, the quick entry would be:
  2831.      
  2832.        * Dial number(s) [ <cr> for Dialing Directory, <Esc> to exit ]
  2833.  
  2834.  
  2835.  
  2836.  
  2837.                  Copyright (C) by The Forbin Project, Inc.        35
  2838.  
  2839.  
  2840. Qmodem 3.0                                                             Commands
  2841.  
  2842.  
  2843.  
  2844.  
  2845.        > M824-8167
  2846.      
  2847.      
  2848.      THE PHONE BOOK
  2849.      
  2850.      Following is a picture of the ALT-D Phone Book window:
  2851.      
  2852.      +=[ Qmodem Phone Book ]==================================================+
  2853.      | Page  1 of C:\QMODEM\QMODEM.FON                                        |
  2854.      |[D]              Name                  Number         Comm     Script   |
  2855.      | 1 The Stock Exchange BB$  PCBoard  1-319-236-0834 19200-8-N-1 Home_Pcb |
  2856.      | 2 Salt Air - Home of PCBoard!      1-801-266-0328 19200-8-N-1 Salt-Air |
  2857.      | 3 GEnie - 1200 Baud Access         1-612-835-0680 19200-7-E-1 Geisco   |
  2858.      | 4 Fargo RBBS-PC                    1-701-293-5973 19200-8-N-1 Fargo    |
  2859.      | 5 TC Colossus                      1-612-339-4216 19200-8-N-1 TC       |
  2860.      | 6 Private Node #3                  1-612-824-8101 19200-8-N-1 Local    |
  2861.      | 7 Public Number for Forbin Proj.   1-612-824-8167 19200-8-N-1 Local    |
  2862.      | 8 LANS BBS - Stults                1-219-884-9508 19200-8-N-1 PCBoard  |
  2863.      | 9 PC Spectrum                      1-714-945-2612 19200-8-N-1 RBBS     |
  2864.      |10 Terrapin Station                 1-612-623-0152 19200-8-N-1 Terrapin |
  2865.      +=[ Options ]============================================================+
  2866.      |                                                                        |
  2867.      |            C - Clear Entry(s)            O - Other Information         |
  2868.      |            D - Dial Number(s)            R - Revise an Entry           |
  2869.      |            E - rEvise Prefix Codes    PgDn - Show Next Page            |
  2870.      |            L - Load new FON File      PgUp - Show Previous Page        |
  2871.      |            M - Manual Dial a Number                                    |
  2872.      |                                                                        |
  2873.      |                  Select ? _                                            |
  2874.      +========================================================================+
  2875.      
  2876.      
  2877.      The dialing directory can hold up to 200 names, numbers and communication
  2878.      parameters.  From here, you can dial or revise any one of the 200
  2879.      numbers, change any one of the 5 prefix dialing strings, enter a manual
  2880.      dial mode or just page through the listing.
  2881.      
  2882.      There are 9 sub-function as listed in the lower window shown above. Lets
  2883.      take a closer look at each of them.
  2884.      
  2885.      
  2886.      
  2887.      CLEARING ENTRIES
  2888.      
  2889.      The Clear command removes unwanted information from the phone book.  One
  2890.      entry or a block of entries can be cleared.  Lets experiment with the
  2891.      phone book Qmodem created for you.
  2892.      
  2893.      First, press the "C" key.  The prompt "Number >" shows up waiting for you
  2894.      to enter a number in the range 1 - 200.  Pressing [ENTER] exits back to
  2895.      the dialing option menu.  Enter the number "10" and press [ENTER].  Now
  2896.      you will get the "Through >" prompt.  Here you can press [ENTER] and
  2897.      Qmodem will repeat the first number for you or you can enter a larger
  2898.      number if you want to clear a group of numbers.  Just press [ENTER].
  2899.  
  2900.  
  2901.  
  2902.  
  2903.                  Copyright (C) by The Forbin Project, Inc.        36
  2904.  
  2905.  
  2906. Qmodem 3.0                                                             Commands
  2907.  
  2908.  
  2909.  
  2910.  
  2911.      
  2912.      Last, you get the "Are you sure ?" prompt.   To clear the entry(s), a "Y"
  2913.      or "y" must be entered.  Anything else and Clear command aborts.  The
  2914.      above commands will look like the following in the lower window:
  2915.      
  2916.      +=[ Options ]============================================================+
  2917.      |                                                                        |
  2918.      |                        Number > 10                                     |
  2919.      |                                                                        |
  2920.      |                        Through> 10                                     |
  2921.      |                                                                        |
  2922.      |                        Are you sure? Y                                 |
  2923.      |                                                                        |
  2924.      |                                                                        |
  2925.      +========================================================================+
  2926.      
  2927.      
  2928.      To clear a block of numbers, enter a larger number at the second prompt.
  2929.      The comm parameters can also be pre-selected by using the ALT-P command
  2930.      before Clearing.
  2931.      
  2932.      
  2933.      
  2934.      DIALING AN ENTRY
  2935.      
  2936.      Dialing is how you connect with the world and Qmodem has one of the best.
  2937.      Multiple numbers and combinations can be used to get you online quickly.
  2938.      Lets take a look some of the possibilities.
  2939.      
  2940.      Here is a snapshot of the Options screen when you hit the "D" key:
  2941.      
  2942.      +=[ Options ]============================================================+
  2943.      |   Valid Prefix and Postfix characters:  +  -  !  @  #                  |
  2944.      |                                                                        |
  2945.      |   Press PgUp & PgDn to Scroll the Phone Book pages                     |
  2946.      |                                                                        |
  2947.      |   Enter up to 10 numbers to dial                                       |
  2948.      |                                                                        |
  2949.      |   Number(s) > _                                                        |
  2950.      |                                                                        |
  2951.      +========================================================================+
  2952.      
  2953.      
  2954.      Again, the option side of the screen will clear and you will see the
  2955.      prompt "Number >".  You can prefix the number with one of five characters,
  2956.      [+ - ! @ #].  This will cause one of the five optional prefix strings to
  2957.      be tacked on to the phone number from the entry.  The following examples
  2958.      show both good and bad dialing entries:
  2959.      
  2960.                Good ==>       Number > +1
  2961.                               Number > #200
  2962.                               Number > 123
  2963.      
  2964.                Bad ===>       Number > a12  (a is not a valid prefix)
  2965.  
  2966.  
  2967.  
  2968.  
  2969.                  Copyright (C) by The Forbin Project, Inc.        37
  2970.  
  2971.  
  2972. Qmodem 3.0                                                             Commands
  2973.  
  2974.  
  2975.  
  2976.  
  2977.                               Number > 201  (number > 200)
  2978.                               Number > $1   ($ is not a valid prefix)
  2979.      
  2980.      Qmodem has the capability to dial up to 10 different numbers at one time.
  2981.      At either of the dialing prompts (quick entry or from the dialing
  2982.      directory), you can specify up to 10 different entry numbers with prefix
  2983.      codes to be cycled through until a connection has been established.
  2984.      [PgUp] and [PgDn] are active while you select your numbers to dial.
  2985.      
  2986.      At the dial prompt, you are allowed to enter up to 60 characters that
  2987.      define the entries in the phone book.  An example will be beneficial:
  2988.      
  2989.           > +1, +12, +123, +!199- 50 51,52,53<cr>
  2990.      
  2991.      
  2992.      Whew!  That's a lot of dialing commands!  Qmodem parses (takes apart) the
  2993.      string of characters and positions each dialing command into a separate
  2994.      holding area.  There are only 10 such holding areas (called the Dialing
  2995.      Queue) so Qmodem will ignore any extras.  The characters that tell Qmodem
  2996.      that this is a new number are the comma "," and the space " ".  Commas and
  2997.      spaces can be next to each other for clarity if you want.  As in the
  2998.      example, the first area will contain the string "+1".  The second will
  2999.      contain "+12", third "+123", fourth "+!199-", fifth "50", sixth has "51",
  3000.      seventh holds "52" and the eighth contains "53".
  3001.      
  3002.      Note that commas and spaces can be used together and are ignored.  When a
  3003.      holding area has more that six characters, it is flagged as invalid and
  3004.      skipped.  Remember, the maximum characters is six for any one dial string!
  3005.      
  3006.      After the dial string has been parsed, you are put in the Redial window.
  3007.      For a complete description of the Redialer, see the ALT-Q command.
  3008.      
  3009.      
  3010.      
  3011.      REVISE PREFIX ENTRIES
  3012.      
  3013.      Prefix characters are used to modify the numbers in the phone book.
  3014.      
  3015.      A window will open up showing you all of the prefix codes and their
  3016.      entries.  Enter the prefix character for the string you want to change or
  3017.      press [ENTER].  To clear an entry, press [SPACE] and then [ENTER].
  3018.      
  3019.      As declared earlier in the documentation, the prefix codes can be used in
  3020.      a variety of ways.  Let's set up a couple of examples to describe the
  3021.      versatility of prefix codes.  We will make a couple of assumptions: that
  3022.      we are making use of a Hayes compatible modem and that we take advantage
  3023.      of three different long distance services.
  3024.      
  3025.      Here are the Prefix code strings stored:
  3026.      
  3027.           +) ,,,1234567
  3028.           -) 1
  3029.           !) 123-4567,,,1234567
  3030.           @) 9,
  3031.  
  3032.  
  3033.  
  3034.  
  3035.                  Copyright (C) by The Forbin Project, Inc.        38
  3036.  
  3037.  
  3038. Qmodem 3.0                                                             Commands
  3039.  
  3040.  
  3041.  
  3042.  
  3043.           #) 999-9999,,,1234
  3044.      
  3045.      Let's say we are using the type of service that needs the special codes
  3046.      at the beginning of the call.  We want to call number 12 in the directory.
  3047.      The correct entry to the dial subcommand would be "!12".  The resulting
  3048.      command sent to the modem would be:
  3049.      
  3050.           ATDT123-4567,,,1234567612 824 8167<cr>
  3051.      
  3052.      
  3053.      The commas used in the prefix codes are assumed to be the default 2 second
  3054.      delay used by most Hayes compatible modems.  If you use a long distance
  3055.      system, you will have to experiment with how many commas you need to make
  3056.      a successful call.
  3057.      
  3058.      In the second scenario, the service in use needs a password at the end of
  3059.      the long distance number.  So, to dial number 12 again, use the command
  3060.      "12+".  This will send the following string to the modem:
  3061.      
  3062.           ATDT612 824 8167,,,1234567<cr>
  3063.      
  3064.      
  3065.      And last but not least, a service that uses both types of passwords.  To
  3066.      make things seem worse, we are going to make the call at work using the
  3067.      PBX exchange.  This way, I can make full use of three prefix codes at the
  3068.      same time.  Once again, we will dial 12 from the directory.  The dialing
  3069.      command would be "@#12+".
  3070.      
  3071.      The string sent to the modem would be:
  3072.      
  3073.           ATDT9,999-9999,,,1234612 824 8167,,,,1234567<cr>
  3074.      
  3075.      
  3076.      Of course, this string is 45 characters and most modems limit the input
  3077.      to 40.  Be careful not to exceed the limit!  Take out unnecessary spaces
  3078.      and commas to fit.
  3079.      
  3080.      
  3081.      MANUAL DIAL
  3082.      
  3083.      Following is a snapshot of the Manual Dial window:
  3084.      
  3085.      +=[ Manual Dial ]===========================================+
  3086.      |                                                           |
  3087.      | Prefixes are valid [ + - ! @ # ].                         |
  3088.      | The number entered is not checked for syntax. Whatever    |
  3089.      | is entered, goes out to the modem.                        |
  3090.      |>                                                          |
  3091.      |                                                           |
  3092.      +===========================================================+
  3093.      
  3094.      
  3095.      With manual dial, any combination of numbers and letters can be used.
  3096.      Note that the dialing Prefix codes are valid in manual dial mode!
  3097.  
  3098.  
  3099.  
  3100.  
  3101.                  Copyright (C) by The Forbin Project, Inc.        39
  3102.  
  3103.  
  3104. Qmodem 3.0                                                             Commands
  3105.  
  3106.  
  3107.  
  3108.  
  3109.      
  3110.      There is no limit on the number of characters that can be entered in the
  3111.      manual dial window.  It is up to you to determine how many characters that
  3112.      can be entered before your modem will stop accepting data.  And don't
  3113.      forget to add the Prefix codes!
  3114.      
  3115.      
  3116.      
  3117.      OTHER INFORMATION
  3118.      
  3119.      Here is a picture of the sample phone book after the "O" key was pressed.
  3120.      Note the new information shown:
  3121.      
  3122.      +=[ Qmodem Phone Book ]==================================================+
  3123.      | Page  1 of C:\QMODEM\QMODEM.FON                                        |
  3124.      |[D]              Name                 Password     LastCall  Total P  E |
  3125.      | 1 North East Iowa PC Users PCBoard   Jump-X       03/29/87   252  Y  N |
  3126.      | 2 Salt Air - Home of PCBoard!        Seawind      04/02/87   257  I  N |
  3127.      | 3 GEnie - 1200 Baud Access           Lamp$        04/03/87   277  C  N |
  3128.      | 4 Fargo Subscription RBBS            Fargo!       04/03/87    65  Y  N |
  3129.      | 5 TC Colossus                                     04/03/87    62  Y  N |
  3130.      | 6 Private Node #3                                 04/03/87   120  I  N |
  3131.      | 7 Public Number for the Forbin Proj. PSWD1357     02/17/87     4  Y  N |
  3132.      | 8 LANS BBS - Stults                  Guess1       03/05/87     1  I  N |
  3133.      | 9 PC Spectrum                        Bright       03/13/87    28  W  N |
  3134.      |10 Terrapin Station                   Gr-dead      04/03/87    45  B  N |
  3135.      +=[ Options ]============================================================+
  3136.      
  3137.      
  3138.      This replaces the information under Comm and Script with new information.
  3139.      Qmodem now can keep track of last call date, total calls, default
  3140.      protocol, and echo.  They are labeled LastCall, Total, P, and E
  3141.      respectively.  LastCall and Total are maintained by Qmodem, while P and E
  3142.      are user defined.  LastCall is the date in MM/DD/YY format of the last
  3143.      CONNECT to this number.  It is important to understand, that simply
  3144.      dialing the number does not mean that LastCall and Total will be updated.
  3145.      It must be a valid CONNECT.
  3146.      
  3147.      
  3148.      
  3149.      PGUP & PGDN
  3150.      
  3151.      Pressing PgUp shows you the next page of the dialing directory unless page
  3152.      10 is already displayed.  If page 10 is displayed, then it will wrap
  3153.      around back to page 1.
  3154.      
  3155.      Similarly, pressing PgDn shows you the previous page of the dialing
  3156.      directory unless page 1 is already displayed.  If page 1 is displayed,
  3157.      then it will wrap around back to page 10.
  3158.      
  3159.      
  3160.      REVISE AN ENTRY
  3161.      
  3162.      You Revise an entry to change the information it contains.
  3163.  
  3164.  
  3165.  
  3166.  
  3167.                  Copyright (C) by The Forbin Project, Inc.        40
  3168.  
  3169.  
  3170. Qmodem 3.0                                                             Commands
  3171.  
  3172.  
  3173.  
  3174.  
  3175.      
  3176.      Pressing the letter "R" will get you the "Number >" prompt on the bottom
  3177.      of the Options window.  There you will enter the number of the directory
  3178.      to be changed.  Note that the number to be changed does not have to be
  3179.      displayed for this to work.  Any number from 1 to 200 will work.
  3180.      
  3181.      A second window will open up on the screen that looks like this:
  3182.      
  3183.           +=[ Revise Entry ]========================================+
  3184.           | Name          : North East Iowa PC Users PCBoard        |
  3185.           | New Name      :                                         |
  3186.           | Number        : 1-319-234-0370                          |
  3187.           | New Number    :                                         |
  3188.           | Baud rate     : 19200                                   |
  3189.           | New Baud rate :                                         |
  3190.           | Data Bits     : 8                                       |
  3191.           | New Data Bits :                                         |
  3192.           | Stop Bits     : 1                                       |
  3193.           | New Stop Bits :                                         |
  3194.           | Script File   : Home_Pcb                                |
  3195.           | New Script    :                                         |
  3196.           | Password      :                                         |
  3197.           | New Password  :                                         |
  3198.           | Old Protocol  : Y                                       |
  3199.           | New Protocol  :                                         |
  3200.           | Echo mode     : N                                       |
  3201.           | New Echo mode :                                         |
  3202.           +=========================================================+
  3203.      
  3204.      
  3205.      The above window has actually been stretched a bit to include all the
  3206.      questions...  In the program, when the bottom of the window is reached,
  3207.      the text scrolls up to make room for the next question.
  3208.      
  3209.      Each part of the entry number is displayed, one part at a time, and waits
  3210.      for you to enter something.  If you are updating just the number for a
  3211.      bulletin board, when the name is displayed, just press [ENTER] to skip to
  3212.      the next entry.  A null entry in the form of [ENTER] at any prompt in the
  3213.      revise window will NOT change the previous data for that entry.  In other
  3214.      words, you won't have to retype all of the data every time you want to
  3215.      make a small change.
  3216.      
  3217.      When the revision is complete, the window will disappear and the directory
  3218.      will be updated both on disk and in memory.
  3219.      
  3220.      
  3221.      LOADING A NEW PHONE BOOK.
  3222.      
  3223.      New with version 3.0 is the ability to have more than one phone book!
  3224.      Using the "L" command, you can load another phone book.  If the new phone
  3225.      book does not exist, you are asked if you want to create it.  When a new
  3226.      phone book is created, you will go through the same questions as when you
  3227.      created the first phone book.  After answering all of them, the phone book
  3228.      is ready to be used.
  3229.  
  3230.  
  3231.  
  3232.  
  3233.                  Copyright (C) by The Forbin Project, Inc.        41
  3234.  
  3235.  
  3236. Qmodem 3.0                                                             Commands
  3237.  
  3238.  
  3239.  
  3240.  
  3241.      
  3242.      
  3243.      
  3244.      EXIT DIALING DIRECTORY
  3245.      
  3246.      Pressing ESC will make the dialing directory window disappear and bring
  3247.      you back the main screen just as it was before.
  3248.      
  3249.      
  3250.      
  3251.      ALT-E  ECHO TOGGLE.
  3252.      
  3253.      This will toggle on and off the Echo which is sometimes referred to as
  3254.      "Duplex".  This is used in case your keyboard strokes are echoed like
  3255.      "HHEELLOO" or not visible at all.  If the Remote computer is echoing your
  3256.      keystrokes back to you, this is considered "Full Duplex".  When you have
  3257.      to supply the characters yourself, this is called "Half-Duplex".
  3258.      
  3259.      
  3260.      
  3261.      ALT-F  SCRIPT FILE EXECUTION.
  3262.      
  3263.      WHAT IS A SCRIPT?
  3264.      
  3265.      Qmodem includes a command language to automate and time-schedule your
  3266.      logons.  Scripts can be used on commercial services like CompuServe,
  3267.      Delphi, Dow Jones News/Retrieval, GEnie, MCI-Mail, NewsNet, The Source and
  3268.      local BBS systems like PCBoard, Fido, Nochange, and RBBS-PC.
  3269.      
  3270.      Using a script, you type just a few keystrokes to set your communication
  3271.      parameters, dial (and re-dial) the phone, connect to another computer, log
  3272.      on with your name or account number and password, retrieve and save
  3273.      information, then log off.  Because everything is automatic, there are no
  3274.      mistakes or wasted time spent online.  If you're paying for your online
  3275.      time, scripts can save you big money.
  3276.      
  3277.      For more information on the Scripts and its language, refer to the Scripts
  3278.      Section.
  3279.      
  3280.      
  3281.      
  3282.      ALT-G  TERMINAL EMULATION.
  3283.      
  3284.      Terminal emulation makes Qmodem look like another terminal.  An example
  3285.      would be the popular VT100 from Digital(tm).  In terminal emulation mode,
  3286.      Qmodem translates the terminal codes to ones that the PC can display and
  3287.      generally looks just like that terminal.
  3288.      
  3289.      There are 4 types of terminals emulated now:
  3290.      
  3291.                TTY    - No emulation at all.
  3292.                ANSI   - Emulates the ANSI.SYS of PC-DOS.
  3293.                VT100  - Emulates the Digital VT100.
  3294.                TVI925 - Emulates the Televideo 925 terminal.
  3295.  
  3296.  
  3297.  
  3298.  
  3299.                  Copyright (C) by The Forbin Project, Inc.        42
  3300.  
  3301.  
  3302. Qmodem 3.0                                                             Commands
  3303.  
  3304.  
  3305.  
  3306.  
  3307.      
  3308.      Pressing ALT-G opens up a window with the four choices.  Just press the
  3309.      letter that corresponds to the terminal you want to emulate.  When
  3310.      pressed, the screen will clear and the Status Line will reflect the
  3311.      emulation mode.
  3312.      
  3313.      If you are in Split-Screen mode (via ALT-S), you cannot change your
  3314.      emulation mode.  Split-Screen requires the TTY emulation mode.
  3315.      
  3316.      
  3317.      
  3318.      ALT-H  HANG UP.
  3319.      
  3320.      The Hangup command is used to terminate a call.  If you get connected to a
  3321.      host computer that 'locks up', you would use this command to disconnect
  3322.      the call.
  3323.      
  3324.      Pressing ALT-H may do one of two things depending on what you have entered
  3325.      in Qinstall.  If you have entered "DTR" for the modem hangup string,
  3326.      Qmodem will toggle the "DTR" signal and the connection will be dropped.
  3327.      Otherwise, it sends out the Modem Hangup string.  The recommended Hangup
  3328.      string from Hayes(tm) is "~~~+++~~~ATH{" where;
  3329.      
  3330.                          ~~~  =  1 1/2 seconds delay
  3331.                          +++  =  go to Command Mode string
  3332.                          ~~~  =  another 1 1/2 seconds delay
  3333.                          ATH  =  command to Hangup
  3334.                          {    =  the [ENTER] key
  3335.      
  3336.      
  3337.      The DTR signal stands for "Data Terminal Ready".  Most modems will
  3338.      automatically Hangup when the DTR signal is dropped for 1 1/2 seconds.
  3339.      Having the characters DTR in the Hangup string does exactly that.  Check
  3340.      your modem manual, and if it says that the modem will hangup with the
  3341.      toggle of DTR, it is the preferred method.
  3342.      
  3343.      
  3344.      
  3345.      ALT-I  INFORMATION ON QMODEM.
  3346.      
  3347.      This will always tell you what version of Qmodem you are using, and an
  3348.      Invoice Form to send in.  If you have any problems with Qmodem, please
  3349.      send me a card or letter and include this information.  Also include a
  3350.      complete description of the hardware and software running on your system
  3351.      when the problem occurs.  Note any TSR's you may have running at the time.
  3352.      This is the only way I can accurately solve the problem.
  3353.      
  3354.      
  3355.      
  3356.      ALT-J  FUNCTION KEY MACROS.
  3357.      
  3358.      Function key macros (FKey for short) are used to store keystrokes that you
  3359.      would send repetitively.  New with 3.0, you can tie Script Command files
  3360.      to an FKey.  By pressing one key, you can invoke Scripts!
  3361.  
  3362.  
  3363.  
  3364.  
  3365.                  Copyright (C) by The Forbin Project, Inc.        43
  3366.  
  3367.  
  3368. Qmodem 3.0                                                             Commands
  3369.  
  3370.  
  3371.  
  3372.  
  3373.      
  3374.      Lets take a closer look at the ALT-J window:
  3375.      
  3376.      +=[ Function Key Assignment ]============================================+
  3377.      |      Normal            Shift              Ctrl              Alt        |
  3378.      |  1) ats           11) /sta{          21) Script DEC     31) ^[[1A      |
  3379.      |  2) AT S0=0{      12) /use{          22) Script HOS     32) ^[[1B      |
  3380.      |  3) AT M1{        13) /STA *{        23) Script QMO     33) ^[[1D      |
  3381.      |  4) AT M0{        14) [Null]         24) Script COL     34) ^[[1C      |
  3382.      |  5) AT M0H1{      15) [Null]         25) Script QMO     35) [Null]     |
  3383.      |  6) AT M1H0{      16) [Null]         26) Script DOW     36) [Null]     |
  3384.      |  7) John{         17) [Null]         27) [Null]         37) John Friel |
  3385.      |  8) Friel{        18) [Null]         28) [Null]         38) [Null]     |
  3386.      |  9) Ez2Fly{       19) [Null]         29) [Null]         39) [Null]     |
  3387.      | 10)               20) [Null]         30) Script RSC     40) Password{  |
  3388.      |                                                                        |
  3389.      | Key File is C:\QMODEM.KEY                                              |
  3390.      |                                                                        |
  3391.      | 1) Normal   2) Shift   3) Ctrl   4) Alt   L) Load KEY file  Esc) Exit  |
  3392.      |                                                                        |
  3393.      | Which one ? _                                                          |
  3394.      |                                                                        |
  3395.      +========================================================================+
  3396.      
  3397.      This will open up a window with 6 parameters.  Straight, Shifted, Ctrl,
  3398.      Alt, Load and Esc.  You can select 1 - 4 to view the current definitions
  3399.      for the key group or enter the letter "L" to load a new .KEY file.  If you
  3400.      want to alter any of the keys, enter the number to the left of the
  3401.      definition at the bottom.  Pressing the ESC key will close the window.
  3402.      
  3403.      The different key groups are in columns with a label at the top of each
  3404.      column describing the additional key that needs to be pressed to invoke
  3405.      that function.  The "SHIFT" means press and hold either Shift key and then
  3406.      press the FKey.  "CTRL" means press and hold the CTRL key.  Same for the
  3407.      "ALT" key.   The "Normal" key is just the FKey with no other keys held
  3408.      down.
  3409.      
  3410.      The keys are numbered from 1 to 40 for clarity.  Each column references F1
  3411.      through F10, top to bottom with the key modifier being the label.
  3412.      
  3413.      Each column displays the first 10 characters that are assigned to each
  3414.      key.  This can looked at as a Quick Reference for all macros.  If you want
  3415.      to see the complete definitions for any column, select the number at the
  3416.      prompt to bring that column into full view.
  3417.  
  3418.  
  3419.  
  3420.  
  3421.  
  3422.  
  3423.  
  3424.  
  3425.  
  3426.  
  3427.  
  3428.  
  3429.  
  3430.  
  3431.                  Copyright (C) by The Forbin Project, Inc.        44
  3432.  
  3433.  
  3434. Qmodem 3.0                                                             Commands
  3435.  
  3436.  
  3437.  
  3438.  
  3439.      CHANGING A KEY MACRO.
  3440.      
  3441.      When you select 1 through 4, the window will clear and bring that specific
  3442.      column into full view.  Here is an example:
  3443.      
  3444.      +=[ Function Key Assignment ]============================================+
  3445.      |                                                                        |
  3446.      |          Definitions for Ctrl F-keys                                   |
  3447.      |21) Script SetColor 7 1 "String passed to S2"                           |
  3448.      |22) Script HOST.HST                                                     |
  3449.      |23) Script QMODEM.RT                                                    |
  3450.      |24) Script COLORS                                                       |
  3451.      |25) Script UP.PCB                                                       |
  3452.      |26) Script DOWN.PCB                                                     |
  3453.      |27) [Null]                                                              |
  3454.      |28)    ---> John <---{~{~~s{                                            |
  3455.      |29) Stamp This line will be put in the LOG file.                        |
  3456.      |30) $Password{                                                          |
  3457.      |                                                                        |
  3458.      |Select the Number to Modify or [Esc] to Exit ? 27                       |
  3459.      |Enter the new string. '{' = [ENTER], '~' = ½ second delay.              |
  3460.      |                                                                        |
  3461.      +========================================================================+
  3462.      
  3463.      There are two special character you can use.  The "{" character will be
  3464.      substituted by the [ENTER] key, and the "~" will cause a one-half second
  3465.      pause.
  3466.      
  3467.      
  3468.      A SCRIPT MACRO.
  3469.      
  3470.      Lets take a closer look at the above examples for the Ctrl-FKeys.  Entries
  3471.      21 through 26 (Ctrl-F1 through Ctrl-F6) use the keyword "Script.  Any FKey
  3472.      that has the first 6 characters of "SCRIPT" will invoke a Script File.
  3473.      The Script file to execute can be separated by 1 or more spaces from the
  3474.      "SCRIPT" keyword.  If the Script needs parameters passed to it, they too
  3475.      can be included and must follow the Script filename separated by one or
  3476.      mode spaces.
  3477.      
  3478.      Look at number 21.  It will execute the Script "SETCOLOR" and pass it 3
  3479.      parameters.  Parameter 1 is the character "7", parameter 2 is "1" and
  3480.      parameter 3 is "String passed to S2".  Note how the third parameter needed
  3481.      quotes around it because it had embedded spaces.
  3482.      
  3483.      
  3484.      A LOG MACRO.
  3485.      
  3486.      Now lets take a look at number 29.  The word "STAMP" is also a keyword.
  3487.      It the FKey begins with "STAMP", then the whole Macro will get entered
  3488.      into the LOG file.  For more information on the LOG file, refer to the
  3489.      ALT-0 Command.  The special characters "~" and "{" have no meaning when
  3490.      the "STAMP" us used.
  3491.      
  3492.      
  3493.  
  3494.  
  3495.  
  3496.  
  3497.                  Copyright (C) by The Forbin Project, Inc.        45
  3498.  
  3499.  
  3500. Qmodem 3.0                                                             Commands
  3501.  
  3502.  
  3503.  
  3504.  
  3505.      THE PASSWORD MACRO.
  3506.      
  3507.      Now lets look at the last keyword, "$PASSWORD".  This lets you take
  3508.      advantage of the PASSWORD field in the Phone Book (see ALT-D).  When a
  3509.      valid CONNECTion is made through the Dial / Redial window, the Password of
  3510.      that entry is loaded into the $PASSWORD keyword.  Lets assume that the
  3511.      word "QMODEM!" is assigned to a password field in the phone book and we
  3512.      have just connected to that system.  In the example above, pressing CTRL-
  3513.      F10 would send "QMODEM!" followed by the [ENTER] key.
  3514.      
  3515.      The previous two keywords had to be the first word in the macro, but not
  3516.      so with the $PASSWORD keyword.  It can be anywhere in the macro to work.
  3517.      For example, lets say that the following is assigned to number 30:
  3518.      
  3519.                30) My password is $password.
  3520.      
  3521.      After the connection, pressing CTRL-F10 would send the following:
  3522.      
  3523.                My password is QMODEM!
  3524.      
  3525.      
  3526.      
  3527.      LOADING A NEW .KEY FILE.
  3528.      
  3529.      Look back at the first example screen, the one with the quick reference of
  3530.      all FKeys.  Just above the line with the options, you see the name of the
  3531.      KEY file that is currently loaded.  Using the "L" command will load a new
  3532.      KEY file.  If the KEY file does not exist, then you will be asked if you
  3533.      want to create it.  Once loaded, all the above features will work on the
  3534.      new KEY file.
  3535.      
  3536.      
  3537.      
  3538.      ALT-K CHANGING THE ACTIVE COM PORT.
  3539.      
  3540.      +=[ Set Active Comm Port ]=========================+
  3541.      | Active Comm Port is COM2                         |
  3542.      | Available ports are :                            |
  3543.      |                                                  |
  3544.      |         1) Com1:            2) Com2:             |
  3545.      |         3) Com3:            4) Com4:             |
  3546.      |         5) Com5:            6) Com6:             |
  3547.      |         7) Undefined        8) Undefined         |
  3548.      |                                                  |
  3549.      |           Selection ? _                          |
  3550.      |                                                  |
  3551.      +==================================================+
  3552.      
  3553.      Selecting ALT-K opens a window showing you the currently active COM port
  3554.      and the ones you have available.  All 8 COM ports will be shown, but you
  3555.      can only select ports that are marked COMx (where x is 1 through 8).  If
  3556.      the port is marked "Undefined", that means that you have not set that port
  3557.      up in Qinstall and cannot select it.
  3558.      
  3559.  
  3560.  
  3561.  
  3562.  
  3563.                  Copyright (C) by The Forbin Project, Inc.        46
  3564.  
  3565.  
  3566. Qmodem 3.0                                                             Commands
  3567.  
  3568.  
  3569.  
  3570.  
  3571.      After you choose the COM port, Qmodem will close the current port and open
  3572.      the NEW port with the same parameters your previous port had.  If you want
  3573.      to change the parameters, then press ALT-P and continue.
  3574.      
  3575.      
  3576.      
  3577.      ALT-L  CHANGING THE LOGGED DRIVE.
  3578.      
  3579.      +=[ Change Log Drive ]================+
  3580.      |                                     |
  3581.      |  The current Logged Drive is  : C   |
  3582.      |  Enter the new Drive          : _   |
  3583.      |                                     |
  3584.      +=====================================+
  3585.      
  3586.      This opens a small window and asks for the drive letter to become the
  3587.      default drive.  Drive letters A through Z are valid.
  3588.      
  3589.      Qmodem will check to make sure the drive is valid before closing the
  3590.      window.  If the drive is found to be invalid, a message to that effect
  3591.      will be displayed and you will be prompted for another drive letter.  If
  3592.      the drive WAS valid, the window will politely disappear.  Pressing ESC
  3593.      will abort the drive change and the window will disappear.
  3594.      
  3595.      
  3596.      
  3597.      ALT-M  MUSIC TOGGLE.
  3598.      
  3599.      Music will be generated on the PC's speaker if three things happen:
  3600.      
  3601.           1)  The terminal emulation must be ANSI (ALT-G).
  3602.           2)  Music is ON (ALT-M).
  3603.           3)  The BBS you are connected to has music encoded screens.
  3604.           
  3605.      If any of these are not correct, you will not hear music.
  3606.      The format of the Encoded Music string that Qmodem recognizes is :
  3607.      
  3608.                    ESC[M.....music codes......^N
  3609.      
  3610.      ALT-N  INVOKING QINSTALL ONLINE
  3611.      
  3612.      New with 3.0, you can now run Qinstall from inside Qmodem.  There is a
  3613.      restriction that you must have enough memory to load Qinstall.
  3614.      
  3615.      Almost all of the preset fields can be modified.  You can change the
  3616.      colors, the upload and download directory paths and add new protocols
  3617.      without leaving Qmodem.
  3618.      
  3619.      Qinstall will even come up using the window colors you have defined.
  3620.      
  3621.      If there is not enough memory to load Qinstall, nothing will happen.  You
  3622.      then must use the ALT-X (exit) command and run Qinstall from outside
  3623.      Qmodem.
  3624.  
  3625.  
  3626.  
  3627.  
  3628.  
  3629.                  Copyright (C) by The Forbin Project, Inc.        47
  3630.  
  3631.  
  3632. Qmodem 3.0                                                             Commands
  3633.  
  3634.  
  3635.  
  3636.  
  3637.      ALT-O  CHANGING SUBDIRECTORIES.
  3638.      
  3639.         +=[ SubDirs ]===+
  3640.         | TOPVIEW       |    +=[ Change Sub-Directory  ]======================+
  3641.         | TEMP          |    |The current directory PATH is :                 |
  3642.         | GAMES         |    |D:\                                             |
  3643.         | FASTBACK      |    |Enter a New Directory     [See column]          |
  3644.         | C             |    |_                                               |
  3645.         | UTIL          |    |                                                |
  3646.         | 1DIRPLUS      |    |                                                |
  3647.         | PCBOARD       |    +================================================+
  3648.         | TASKVIEW      |
  3649.         | HISPEED       |
  3650.         | RBBS          |
  3651.         | ARCTEMP       |
  3652.         | ARCERR        |
  3653.         | RELAY         |
  3654.         |               |
  3655.         |               |
  3656.         |               |
  3657.      ==[|               |d 0 ]=======[ Split Screen ]==========================
  3658.         |               |
  3659.         |               |
  3660.         |               |
  3661.         |               |
  3662.         +===============+
  3663.      
  3664.      With this command, not one, but two windows open up.  The long tall one on
  3665.      the left of the screen is a listing of valid subdirectories for the
  3666.      current directory you are in.  If you don't have any subdirectories or
  3667.      don't use them, this would be blank.  The other window lists your current
  3668.      path (if any) and waits for you to enter a CHDIR command.  Any valid CD
  3669.      command can be entered here, not just what shows in the left column.
  3670.      
  3671.      To select PCBOARD, you only need enter "PCBOARD" in the main window.  No
  3672.      need to type the whole thing in again.  If you enter something wrong,
  3673.      Qmodem will give you the message:
  3674.      
  3675.                "Invalid CHDIR command. No changes made."
  3676.      
  3677.      On the other hand, taking the same example as above, if you wanted to
  3678.      switch to an optional download directory, you could have typed in
  3679.      "C:\COMM\DOWNLOAD" to the prompt and (provided the path was valid) you
  3680.      would then be in your download subdirectory.
  3681.      
  3682.      Note too, that if you include the drive specified with a new path command,
  3683.      and the Drive is valid, the current Logged Drive will be changed also.
  3684.  
  3685.  
  3686.  
  3687.  
  3688.  
  3689.  
  3690.  
  3691.  
  3692.  
  3693.  
  3694.  
  3695.                  Copyright (C) by The Forbin Project, Inc.        48
  3696.  
  3697.  
  3698. Qmodem 3.0                                                             Commands
  3699.  
  3700.  
  3701.  
  3702.  
  3703.      ALT-P  COMMUNICATIONS PARAMETERS.
  3704.      
  3705.      +=[ Set Modem Speed ]==============================+
  3706.      |     Current setting is COM2: 19200,N,8,1         |
  3707.      |    ┌----------------Speed-----------------┐      |
  3708.      |      A) 300   B) 1200    C) 2400  D) 4800        |
  3709.      |      E) 9600  F) 19200   G) 38400                |
  3710.      |    ┌---------------Parity-----------------┐      |
  3711.      |      H) Even        I) Odd        J) None        |
  3712.      |    ┌----Data Bits----------Stop Bits------┐      |
  3713.      |      K) 7     L) 8       M) 1     N) 2           |
  3714.      |                                                  |
  3715.      |     Selection(s) [CR=Save ESC=Exit] ? _          |
  3716.      +==================================================+
  3717.      
  3718.      You can change your communication parameters on the fly without having
  3719.      your modem hangup.
  3720.      
  3721.      There are two ways to select the new parameters.  The first method is my
  3722.      using the Space Bar to select the topic.  The four topics are SPEED,
  3723.      PARITY, DATA BITS, and STOP BITS.  As you press the Space Bar, each of
  3724.      these will light up in turn.  You then use the left and right arrow keys
  3725.      on the numeric keypad to change the values.
  3726.      
  3727.      The second method is to just hit the letter associated with the parameter
  3728.      you want.
  3729.      
  3730.      Pressing [ENTER] alone keeps the previous setting and exits to Qmodem
  3731.      ready.  If one of the list entries is selected, the communication
  3732.      parameters are altered to reflect the new choice before the window
  3733.      disappears.
  3734.  
  3735.  
  3736.  
  3737.  
  3738.  
  3739.  
  3740.  
  3741.  
  3742.  
  3743.  
  3744.  
  3745.  
  3746.  
  3747.  
  3748.  
  3749.  
  3750.  
  3751.  
  3752.  
  3753.  
  3754.  
  3755.  
  3756.  
  3757.  
  3758.  
  3759.  
  3760.  
  3761.                  Copyright (C) by The Forbin Project, Inc.        49
  3762.  
  3763.  
  3764. Qmodem 3.0                                                             Commands
  3765.  
  3766.  
  3767.  
  3768.  
  3769.      ALT-Q  THE DIAL/REDIAL SCREEN.
  3770.      
  3771.      +=[ Dial / Re-Dial ]==================================================+
  3772.      | Dialing : 824-8167        Desc. : Public Number for the Forbin Proj.|
  3773.      | Script  : Local         Last On : 02/17/87   Total Calls : 412      |
  3774.      |                                                                     |
  3775.      | Started : 14:03:43      Clock   : 14:03:43   Attempt Num.: 21       |
  3776.      | Modem   :                                                           |
  3777.      | Status  : 60  Seconds remain until Cycle                            |
  3778.      +=[ Dialing Queue ]===================================================+
  3779.      |  #   FON    Directory Description               Phone Number        |
  3780.      |  1 : +7     Public Number for the Forbin Proj.  824-8167            |
  3781.      |  2 : +4     Fargo Subscription RBBS-PC          1-701-235-3982      |
  3782.      |  3 : 5      Twin Cities Opus                    339-4216            |
  3783.      |  4 : 8      LANs BBS PCBoard                    1-219-884-9508      |
  3784.      |  5 :                                                                |
  3785.      |  6 :                                                                |
  3786.      |  7 : 9      PC Spectrum                         1-714-945-2612      |
  3787.      |  8 :                                                                |
  3788.      |  9 : 10     Terrapin Station dBBS               623-0307            |
  3789.      | 10 :                                                                |
  3790.      +=====================================================================+
  3791.      
  3792.      The Dial/Redial window has been greatly enhanced for this release.  As you
  3793.      can see from the above snapshot, it has gotten a bit bigger from previous
  3794.      releases.  New with the 3.0 version is Queue editing.  The Queue holds a
  3795.      maximum of 10 numbers to be cycled through.
  3796.      
  3797.      As explained in the ALT-D command, you can enter up do 10 phone book dial
  3798.      commands complete with prefix codes.  Qmodem will cycle through them one
  3799.      at a time until a connection is made.  But this release has an exclusive
  3800.      Queue Edit feature that lets you manipulate the queue and continue where
  3801.      you left off.  You can change an entry, delete an entry, or add a new
  3802.      entry, and then start the cycle over.
  3803.      
  3804.      This screen will show you not only the status of the current call, but the
  3805.      information from the phone book about the current number being called.
  3806.      The last time you connected successfully, how many time you have called,
  3807.      and the name of a Script (if any) attached to this number.
  3808.      
  3809.      The next line shows the status of the redial session.  When you started
  3810.      the Dial/Redial, the current system Clock and the current Attempt number.
  3811.      The fourth line is reserved for messages that your modem returns.
  3812.      The fifth line is reserved for Status messages.  (See below).
  3813.      
  3814.      This really is a lot easier to run than to explain, but here goes.
  3815.      
  3816.      
  3817.      DIALING FROM THE ALT-D SCREEN.
  3818.      
  3819.      If you entered ALT-D to get to this window, then the calling process
  3820.      starts immediately.  There are no delays, the ALT-D screen will close and
  3821.      this window will open automatically.
  3822.      
  3823.  
  3824.  
  3825.  
  3826.  
  3827.                  Copyright (C) by The Forbin Project, Inc.        50
  3828.  
  3829.  
  3830. Qmodem 3.0                                                             Commands
  3831.  
  3832.  
  3833.  
  3834.  
  3835.      While the window is open, you have the following commands:
  3836.      
  3837.           [C]ycle Next - Pressing the "C" key will abort the current call, and
  3838.                start the next.  The queue works from top to bottom skipping any
  3839.                blank lines.
  3840.           
  3841.           [D]elete Current - Pressing "D" aborts the current call and also
  3842.                deletes its entry from the queue.
  3843.           
  3844.           [E]dit Queue - Pressing "E" aborts the current call and places you
  3845.                into an Edit mode.  There you can change the queue before
  3846.                continuing.
  3847.           
  3848.           [X]tend Cycle - There is a preset limit in Qinstall as to how long a
  3849.                call should wait for a connect before cycling.  You can extend
  3850.                this timeout by 5 seconds for every press of the "X" key.
  3851.           
  3852.           [Esc] - Pressing ESC will abort the current call and also remove the
  3853.                Dial/Redial window.
  3854.      
  3855.      
  3856.      When a connection has been made and the Beeps and Bells are active, Qmodem
  3857.      will sound off letting you know.  Press any key to silence the bells and
  3858.      remove the window. If a script file was attached to the dialing entry, the
  3859.      bells will not go off and the script will begin executing automatically.
  3860.      
  3861.      
  3862.      EDITING THE QUEUE.
  3863.      
  3864.      When you are in the Edit mode, the line right below the dividing line will
  3865.      change to the following:
  3866.      
  3867.                Enter the queue number to change ? _
  3868.      
  3869.      Here you type in a number from 1 to 10 and press [ENTER] or press [Esc] to
  3870.      abort the Edit.  Assuming you entered a valid number, you will then get
  3871.      the following:
  3872.      
  3873.                Enter the new dial command for X, [Esc Exit] ? _
  3874.      
  3875.      The X will be replaced by the number you typed in for verification.  This
  3876.      line does not tell the whole story, and that's what the Status Line is
  3877.      for.  The Status Line says to enter a new FON command, [ENTER] alone
  3878.      clears the entry, or [Esc] to exit.  Clear as mud.  Lets assume that the
  3879.      phone book is full of valid numbers.  Here are some examples:
  3880.      
  3881.      
  3882.           Adding a number to the Queue:
  3883.                
  3884.                Press "E" to get into Edit mode.
  3885.                     
  3886.                Enter the queue entry number to modify. (Say 10)
  3887.      
  3888.                Enter "9"  (Some BBS number)
  3889.  
  3890.  
  3891.  
  3892.  
  3893.                  Copyright (C) by The Forbin Project, Inc.        51
  3894.  
  3895.  
  3896. Qmodem 3.0                                                             Commands
  3897.  
  3898.  
  3899.  
  3900.  
  3901.      
  3902.                (Now the BBS name and number appear in entry 10)
  3903.      
  3904.                Press "Esc" to exit the Edit mode and start dialing.
  3905.      
  3906.      
  3907.           Deleting a number from the Queue:
  3908.      
  3909.                Press "E" to get into Edit mode.
  3910.      
  3911.                Enter the queue entry number to delete. (Say 10 again)
  3912.      
  3913.                Now just hit the [ENTER] key.
  3914.      
  3915.                (Entry 10 is now blank!)
  3916.      
  3917.                Press "Esc" to exit the Edit mode and start dialing.
  3918.      
  3919.      
  3920.      STARTING WITHOUT A PREVIOUS DIAL.
  3921.      
  3922.      Pressing ALT-Q without going through ALT-D will bring up the same window,
  3923.      except that the redialer does NOT start dialing immediately.  You will get
  3924.      a prompt asking what you want to do:
  3925.      
  3926.                Press [D]ial, [E]dit Queue, or [Esc] to Exit
  3927.      
  3928.      If there were no numbers in the Queue, then pressing either "D" or "Esc"
  3929.      will exit the window. (Can't dial without numbers in the queue!)  Your
  3930.      only option would be to enter the Edit mode and ADD numbers to the Queue.
  3931.      
  3932.      If there are numbers left over from a previous redial, then pressing "D"
  3933.      will start the calling sequence.
  3934.      
  3935.      
  3936.      STATUS MESSAGES.
  3937.      
  3938.      Here is a list of all the possible Status messages:
  3939.           
  3940.           Manual Cycle.
  3941.           Number deleted from Redial queue.
  3942.           Esc key pressed, Re-Dial aborted.
  3943.           Dial timing period expired.
  3944.           Line busy or modem timed out.
  3945.           Redial aborted.
  3946.           Connected!   Press any key to continue!
  3947.           Redial pausing xxx
  3948.           Redial halted due to RING detect.  Press Alt-Q to restart.
  3949.           Editing Queue
  3950.           xxx Seconds remain until Cycle
  3951.      
  3952.      
  3953.      PARAMETERS PASSED TO THE LINKED SCRIPT.
  3954.      
  3955.  
  3956.  
  3957.  
  3958.  
  3959.                  Copyright (C) by The Forbin Project, Inc.        52
  3960.  
  3961.  
  3962. Qmodem 3.0                                                             Commands
  3963.  
  3964.  
  3965.  
  3966.  
  3967.      Several parameters are passed to defined Script String variables when a
  3968.      valid connection has been made.  They remain active until the script has
  3969.      halted.  They are:
  3970.      
  3971.                $BOARD         - the name of field.
  3972.                $NUMBER        - the number called.
  3973.                $SPEED         - the current baud rate.
  3974.                $COMM          - the parity, data and stop bits settings.
  3975.                $PASSWORD      - the password field.
  3976.                $PROTOCOL      - the default transfer protocol.
  3977.                $SCRIPT        - the name of the linked script.
  3978.      
  3979.      For more information on Script String variables, see the Script Language
  3980.      Section.
  3981.      
  3982.      
  3983.      
  3984.      ALT-R  DOS SHELL.
  3985.      
  3986.      If there is enough memory in your system and a copy of COMMAND.COM can be
  3987.      located with the COMSPEC= in the environment, you can drop to DOS.
  3988.      Pressing ALT-R produces the following screen:
  3989.      ==========================================================================
  3990.      Qmodem «--» DOS Shell
  3991.      Enter "EXIT" to return to Qmodem.
  3992.      
  3993.      
  3994.      The IBM Personal Computer DOS
  3995.      Version 3.10 (C)Copyright International Business Machines Corp 1981, 1985
  3996.                   (C)Copyright Microsoft Corp 1981, 1985
  3997.      
  3998.      C:\WORD\DOCS>_
  3999.      ==========================================================================
  4000.      
  4001.      In the above example, you may be in a different subdirectory and have a
  4002.      different version of DOS, but essentially you get the same results.
  4003.      Qmodem is still running, capturing data if any comes in.  If you remain in
  4004.      the DOS shell too long, the buffer in Qmodem may fill up and cause lost
  4005.      data.
  4006.      
  4007.      All DOS commands are then available, should you wish to format a disk for
  4008.      example.  You can NOT execute any program that attaches itself to DOS and
  4009.      remains resident.   SideKick is a good example.  To return to Qmodem,
  4010.      enter the EXIT command at the DOS prompt.
  4011.      
  4012.      Remember, not all programs can be executed in this fashion, Qmodem is not
  4013.      designed to be a DOS shell.
  4014.      
  4015.      
  4016.      
  4017.      ALT-S  SPLIT SCREEN MODE.
  4018.      You will get the following line across the lower part of the screen:
  4019.      
  4020.      
  4021.  
  4022.  
  4023.  
  4024.  
  4025.                  Copyright (C) by The Forbin Project, Inc.        53
  4026.  
  4027.  
  4028. Qmodem 3.0                                                             Commands
  4029.  
  4030.  
  4031.  
  4032.  
  4033.      ==[ Keystrokes Queued 0 ]=======[ Split Screen ]=========================
  4034.      
  4035.      
  4036.      The screen is divided into two partitions with one fifth of the screen
  4037.      reserved for the bottom partition.  ALT-S is a toggle, so hitting ALT-S
  4038.      again will drop you out of split screen mode.
  4039.      
  4040.      If you are using a terminal emulation other than TTY, the emulation will
  4041.      be changed to TTY.  Upon leaving Split screen, the emulation will remain
  4042.      in TTY mode.
  4043.      
  4044.      This is a true split screen mode complete with a 254 character buffer.
  4045.      Pressing the <CR> transmits the buffer.  The keystrokes are kept track on
  4046.      on the dividing line.  The character "{" can be used to substitute a [CR]
  4047.      in the string.
  4048.      
  4049.      Another feature of the Split screen is that all blank lines are "eaten"
  4050.      and not displayed.  White space is then reduced to make better use of the
  4051.      upper partition.
  4052.      
  4053.      
  4054.      
  4055.      ALT-T  SCREEN DUMP.
  4056.      
  4057.      This copies the screen to a file as specified in Qinstall.  The screen is
  4058.      APPENDed to the file with a Time and Date stamp.  If the file does not
  4059.      exist, you are prompted to create it.
  4060.      
  4061.      When successful, you will a quick "bleep" sound and a Status window will
  4062.      pop open for a moment.
  4063.      
  4064.      
  4065.      
  4066.      ALT-U  SCROLL BACK TOGGLE.
  4067.      
  4068.      The Scroll Back toggle controls what is stored in the Scroll Back buffer.
  4069.      The Scroll Back command is discussed under the command "Up Arrow" later in
  4070.      this documentation file.
  4071.      
  4072.      Qmodem comes up with the Scroll Back turned ON.  Everything coming to the
  4073.      screen will be stored for later recall in the buffer.
  4074.      
  4075.      
  4076.      
  4077.      ALT-V  VIEW A FILE.
  4078.      
  4079.      Pressing ALT-V brings up the View / Edit file allocation window:
  4080.      
  4081.      +=[ View / Edit  File Allocation ]=======================================+
  4082.      |                                                                        |
  4083.      |  > LIST _                                                              |
  4084.      |                                                                        |
  4085.      +========================================================================+
  4086.      
  4087.  
  4088.  
  4089.  
  4090.  
  4091.                  Copyright (C) by The Forbin Project, Inc.        54
  4092.  
  4093.  
  4094. Qmodem 3.0                                                             Commands
  4095.  
  4096.  
  4097.  
  4098.  
  4099.      The gateway can be used to either browse or edit a file.  The above
  4100.      example shows the LIST program popular on BBS's everywhere.  LIST is a
  4101.      more sophisticated TYPE program that is supplied in DOS.  Any program that
  4102.      you would like to use could be put in here, even WordStar(tm)!
  4103.      
  4104.      This uses memory the same way the DOS shell does.  You must have enough
  4105.      memory to invoke your list program or this will not work.
  4106.      
  4107.      For you power users, this can also be used to "visit" DOS.  Any valid DOS
  4108.      command and/or program will work here.  You could, for example, type in
  4109.      "DEL *.BAK" and press enter.  This would go out and delete all the files
  4110.      in the current directory with an extension of ".BAK".
  4111.      
  4112.      When the "visit" has been completed, you will get:
  4113.      
  4114.                * Press any key to continue
  4115.      
  4116.      Then you will be back in Qmodem where you left off.
  4117.      
  4118.      
  4119.      
  4120.      ALT-W  DISK DIRECTORY.
  4121.      
  4122.      This is what the ALT-W window looks like:
  4123.      
  4124.           +=[ Filename     Size  Time    Date   Xmit Time ]=+
  4125.           |                                                 |
  4126.           |Volume is SEAGATE_AT                             |
  4127.           | Path : C:\WORD\DOCS                             |
  4128.           | JOHN2.STY        640  9:54  02-27-87  00:00:01  |
  4129.           | ENGLE.DOC       1920  9:58  02-27-87  00:00:02  |
  4130.           | CERVEAU.DOC      768 16:35  10-11-86  00:00:01  |
  4131.           | SHARWARE.DOC    1664 23:41  01-07-87  00:00:02  |
  4132.           | VIDEO.DOC        512 16:56  03-03-87  00:00:01  |
  4133.           | GARMARK.DOC     2176 11:30  11-07-86  00:00:02  |
  4134.           | OUTLINE.STY     1152 12:00  04-04-86  00:00:01  |
  4135.           | FULL.STY        1408 11:18  10-31-86  00:00:01  |
  4136.           | SEMI.STY        1152 11:28  10-31-86  00:00:01  |
  4137.           | JOHN.STY         512 16:01  01-07-87  00:00:01  |
  4138.           | FORD.DOC        3200 14:08  02-06-87  00:00:03  |
  4139.           | LET1.DOC        2432 16:05  01-07-87  00:00:02  |
  4140.           | BROUSSEU.DOC    2176 22:19  01-07-87  00:00:02  |
  4141.           | TEXT.DOC      276949 12:36  09-22-86  00:03:06  |
  4142.           | HAWAII.DOC      2048  6:35  01-08-87  00:00:02  |
  4143.           | TEMPLATE.DOC    1152  6:37  01-08-87  00:00:01  |
  4144.           | VDT.DOC        11136 23:55  03-04-87  00:00:08  |
  4145.           | LICENSE.DOC     8908 13:31  09-22-86  00:00:07  |
  4146.           | Tap any key to continue, [Esc] to exit          |
  4147.           +=================================================+
  4148.      
  4149.      This is just like the DOS version of DIR /p.  Depending on where you are
  4150.      with respect to subdirectories, all of the normal files are displayed with
  4151.      their respective attributes.  One of the enhancements is to add the
  4152.      Transmit times to each file.  This Xmit time is based on your current baud
  4153.  
  4154.  
  4155.  
  4156.  
  4157.                  Copyright (C) by The Forbin Project, Inc.        55
  4158.  
  4159.  
  4160. Qmodem 3.0                                                             Commands
  4161.  
  4162.  
  4163.  
  4164.  
  4165.      rate set by the ALT-P command.  Try changing the baud rate and doing an
  4166.      ALT-W to see the Xmit times change.
  4167.      
  4168.      If you are using a floppy based system, you will first be prompted to
  4169.      insert a diskette into the drive.  If you are using any drive above B:,
  4170.      this prompt is not used.
  4171.      
  4172.      Then you will get the next three lines:
  4173.      
  4174.           +=[ Filename     Size  Time    Date   Xmit Time ]=+
  4175.           |                                                 |
  4176.           |Volume is SEAGATE_AT                             |
  4177.           | Path : C:\WORD\DOCS                             |
  4178.           | Use Pattern *.*                                 |
  4179.           
  4180.      Here you are given the chance to enter a file search string.  Pressing
  4181.      [ENTER] defaults to *.*.  The *.* will display all files in the current
  4182.      directory.  If you want to see just the files that end with "ARC", enter
  4183.      "*.ARC".  The characters ? and * are valid.
  4184.      
  4185.      For those of you who have lengthy directories, you can press the [Esc] key
  4186.      and Qmodem will skip the rest of the files and show you the free space on
  4187.      the drive.
  4188.      
  4189.           | LICENSE.DOC     8908 13:31  09-22-86  00:00:07  |
  4190.           |    Free space = 13213696 bytes                  |
  4191.           |* Tap any key to continue                        |
  4192.           +=================================================+
  4193.      
  4194.      
  4195.      
  4196.      ALT-X  EXITING QMODEM.
  4197.      
  4198.           +=[ Leave Qmodem ]======================+
  4199.           |                                       |
  4200.           |         Are you sure? [Y/N/X] _       |
  4201.           |                                       |
  4202.           +=======================================+
  4203.      
  4204.      Pressing ALT-X will open a window and ask if you really want to exit.
  4205.      This is just a safety measure in case you really didn't intend to press
  4206.      ALT-X.   If you do exit, Qmodem will return to the directory on your disk
  4207.      where you started.  Qmodem will also close the Capture and LOG Files if
  4208.      they are open.
  4209.      
  4210.      Entering an 'X' will cause Qmodem to exit to DOS and leave the DTR line
  4211.      active.  If you were online with another computer, you could issue the
  4212.      ALT-X command, enter an 'X', format a disk, re-invoke Qmodem and still be
  4213.      online.
  4214.      
  4215.      
  4216.      
  4217.      ALT-Y  DELETE A FILE.
  4218.      
  4219.  
  4220.  
  4221.  
  4222.  
  4223.                  Copyright (C) by The Forbin Project, Inc.        56
  4224.  
  4225.  
  4226. Qmodem 3.0                                                             Commands
  4227.  
  4228.  
  4229.  
  4230.  
  4231.      This is used to delete a file you no longer want or need.  First you will
  4232.      get the File Delete Allocation Window:
  4233.      
  4234.      +=[ File Delete Allocation ]=============================================+
  4235.      |                                                                        |
  4236.      |  > C:\WORD\DOCS\TEXT.DOC                                               |
  4237.      |                                                                        |
  4238.      +========================================================================+
  4239.      
  4240.      Qmodem asks for a valid filename and checks to see if that file exist in
  4241.      the current directory.  If it does, it asks you again if you really really
  4242.      want to delete the file.
  4243.      
  4244.      +=[ File Delete - Be Careful! ]===============================+
  4245.      | You are about to delete the following File                  |
  4246.      | C:\WORD\DOCS\TEXT.DOC                                       |
  4247.      |                                                             |
  4248.      | Are you SURE ??? [Y/N] _                                    |
  4249.      |                                                             |
  4250.      |                                                             |
  4251.      +=============================================================+
  4252.      
  4253.      This will be the last chance before you might do something that can only
  4254.      be regretted later.  Please be careful with this one!
  4255.      
  4256.      
  4257.      
  4258.      ALT-Z  XON/XOFF TOGGLE.
  4259.      
  4260.      This will toggle the Xon/Xoff flow control built into Qmodem.  Xon/Xoff is
  4261.      a very simple means of flow control usually used by mini and mainframe
  4262.      computers.  With Xon/Xoff in the OFF mode, a buffer overrun may occur on
  4263.      long ASCII transmissions.
  4264.      
  4265.      If Xon/Xoff is ON and Qmodem sees the Xoff (^S) code, you will see a small
  4266.      window open up that looks like this:
  4267.      
  4268.           +=[ XOFF ]============+
  4269.           |                     |
  4270.           |XOFF received, ^Q to |
  4271.           |manually restart.    |
  4272.           |                     |
  4273.           +=====================+
  4274.      
  4275.      When the other system is ready for more data, it will send the ^Q code and
  4276.      the window will disappear.  If you think there is a problem, you can
  4277.      manually restart the flow of data by pressing ^Q.
  4278.  
  4279.  
  4280.  
  4281.  
  4282.  
  4283.  
  4284.  
  4285.  
  4286.  
  4287.  
  4288.  
  4289.                  Copyright (C) by The Forbin Project, Inc.        57
  4290.  
  4291.  
  4292. Qmodem 3.0                                                             Commands
  4293.  
  4294.  
  4295.  
  4296.  
  4297.      PgUp  UPLOAD (SENDING) A FILE.
  4298.      
  4299.      The PgUp key will open a window and ask you what type of transfer protocol
  4300.      you would like to use:
  4301.      
  4302.                     +=[ Upload Protocols ]===+
  4303.                     | A) Ascii               |
  4304.                     | X) Xmodem              |
  4305.                     | C) Xmodem CRC          |
  4306.                     | R) Relaxed Xmodem      |
  4307.                     | I) Imodem              |
  4308.                     | Y) Ymodem              |
  4309.                     | G) Ymodem-G            |
  4310.                     +======[ External ]======+
  4311.                     | B) Batch Ymodem        |
  4312.                     | Z) Zmodem              |
  4313.                     | K) Super Kermit        |
  4314.                     | W) WXmodem             |
  4315.                     | Your choice ? _        |
  4316.                     +========================+
  4317.      
  4318.      If you have installed the protocols that come with the 3.0 disk, your
  4319.      window will have 4 External protocols listed.  If you have not installed
  4320.      any external protocols, the window will look like this:
  4321.           
  4322.                     +=[ Upload Protocols ]===+
  4323.                     | A) Ascii               |
  4324.                     | X) Xmodem              |
  4325.                     | C) Xmodem CRC          |
  4326.                     | R) Relaxed Xmodem      |
  4327.                     | I) Imodem              |
  4328.                     | Y) Ymodem              |
  4329.                     | G) Ymodem-G            |
  4330.                     | Your choice ? _        |
  4331.                     +========================+
  4332.      
  4333.      There is a third possibility.  If in Qinstall, in the Runtime Setup #1
  4334.      screen, you have specified CTS = "N", then the options "I" and "G" will
  4335.      also be blank.  Imodem and Ymodem-G require that CTS flow control be used.
  4336.      
  4337.      Ok, you now have a list of protocols on your screen.  What now??
  4338.      
  4339.      Select the protocol that both you and the host have agreed upon and press
  4340.      the appropriate letter.  For example, press the letter "X" for Xmodem.
  4341.      99% of all BBS systems accept the Xmodem protocol.
  4342.  
  4343.  
  4344.  
  4345.  
  4346.  
  4347.  
  4348.  
  4349.  
  4350.  
  4351.  
  4352.  
  4353.  
  4354.  
  4355.                  Copyright (C) by The Forbin Project, Inc.        58
  4356.  
  4357.  
  4358. Qmodem 3.0                                                             Commands
  4359.  
  4360.  
  4361.  
  4362.  
  4363.      Now the protocol window will disappear and two more windows will pop onto
  4364.      the screen.  The actual transfer window, and the Upload File Allocation
  4365.      window.
  4366.      
  4367.              +=[ Upload Files (transmit) ]=====================+
  4368.      +=[ Upload File Allocation ]=============================================+
  4369.      |                                                                        |
  4370.      |  > Z:\QMODEM.COM                                                       |
  4371.      |                                                                        |
  4372.      +========================================================================+
  4373.              |                                                 |
  4374.              |                                                 |
  4375.              |                                                 |
  4376.              |                                                 |
  4377.              +=================================================+
  4378.      
  4379.      Because you are uploading, you will be prompted for a filename to send to
  4380.      the other computer.  Enter that filename in the Allocation window.  Then
  4381.      the actual transfer will take place.  Be patient.  It takes a few seconds
  4382.      to get going.
  4383.      
  4384.      Now lets look at each protocol in depth.  Because the protocols listed
  4385.      here are the same as for the PgDn (Download), they will only be discussed
  4386.      once.
  4387.      
  4388.      
  4389.      
  4390.      ASCII PROTOCOL
  4391.      
  4392.      When you select ASCII for the transfer method, be aware that line noise
  4393.      could make that nice looking documentation look funny on the other end.
  4394.      
  4395.      After you have selected a File to Upload, Qmodem will prompt you for the
  4396.      transfer option to be used.  The list of Options are:
  4397.      
  4398.           1) Prompted
  4399.           2) Time delay
  4400.           3) No delay.
  4401.      
  4402.      Each one has its advantages and disadvantages depending on what kind of
  4403.      computer you are talking to.  "Prompted" asks you for the character to
  4404.      look for before sending a line of data.  The prompt character cannot be a
  4405.      [SPACE].  "Time delay" asks you to enter a number in hundredths of a
  4406.      second  to wait before sending a line of data.  "No delay" is exactly
  4407.      that, send as fast as possible until it is all sent.
  4408.      
  4409.      When ASCII mode is selected,  XON/XOFF flow control is also in effect.
  4410.      At any time during the transfer, pressing the PgUp key will terminate the
  4411.      transfer.
  4412.  
  4413.  
  4414.  
  4415.  
  4416.  
  4417.  
  4418.  
  4419.  
  4420.  
  4421.                  Copyright (C) by The Forbin Project, Inc.        59
  4422.  
  4423.  
  4424. Qmodem 3.0                                                             Commands
  4425.  
  4426.  
  4427.  
  4428.  
  4429.      Here is what the actual ASCII upload screen will look like:
  4430.      
  4431.      ==========================================================================
  4432.      Added and/or fixed in the 04-07-87 version of Beta30
  4433.      
  4434.         Fixed a bug in the Scrip
  4435.      
  4436.      
  4437.      
  4438.      
  4439.      
  4440.      
  4441.      
  4442.      
  4443.      
  4444.      ========= vv Outgoing Text vv ============= ^^ Incoming Text ^^ =========
  4445.      Added and/or fixed in the 04-07-87 version of Beta30
  4446.      
  4447.         Fixed a bug in the Scrip
  4448.      
  4449.      
  4450.      
  4451.      
  4452.      
  4453.      
  4454.      ==========================================================================
  4455.      
  4456.      As the text is sent out, it appears in the lower window.  If the other
  4457.      computer is echoing your text, it will appear in the top window.
  4458.      
  4459.      
  4460.      XMODEM PROTOCOL
  4461.      
  4462.      There are two methods currently used in public domain to compute the
  4463.      validity of data sent via XMODEM.  The first method is called checksum.
  4464.      In checksum, the data block has all of the bytes added together and is
  4465.      then ANDed with hex 'FF'.  While checksum is a pretty reliable method of
  4466.      insuring that the file you sent is correct, errors can creep in.  The rate
  4467.      of error detection is somewhere near 99.6%.
  4468.      
  4469.      The actual transfer of all protocols except ASCII will look like this:
  4470.      
  4471.              +=[ Upload Files (transmit) ]=====================+
  4472.              |                                                 |
  4473.              |  Press [PgUp] to terminate transfer             |
  4474.              |  Transmit time   : 00:00:29                     |
  4475.              |  Time remaining  : 00:00:27                     |
  4476.              |  Blocks to send  : 41                           |
  4477.              |  Sending block   : 2      Average CPS : 1243    |
  4478.              |  Current errors  : 0      Efficiency  : 64.7%   |
  4479.              |  Total errors    : 0                            |
  4480.              |                                                 |
  4481.              +=================================================+
  4482.           
  4483.  
  4484.  
  4485.  
  4486.  
  4487.                  Copyright (C) by The Forbin Project, Inc.        60
  4488.  
  4489.  
  4490. Qmodem 3.0                                                             Commands
  4491.  
  4492.  
  4493.  
  4494.  
  4495.      The Transmit time is the estimated time (not counting errors) to transfer
  4496.      the file.
  4497.      
  4498.      The Time remaining is calculated the same as the transmit time but for the
  4499.      remaining blocks to be sent.
  4500.      
  4501.      Blocks to send is the total number of blocks in the file.
  4502.      
  4503.      Sending block tells you where you are in the transfer.
  4504.      
  4505.      Current errors is the total errors for the current block.  If this counter
  4506.      reaches 10, the transfer is aborted.  As soon as the block is successfully
  4507.      sent, this counter is set back to 0.
  4508.      
  4509.      Total errors is the total number of errors for the entire transfer.
  4510.      
  4511.      Average CPS is a measurement of how fast the transfer is.  CPS stands for
  4512.      Characters Per Second.  If you multiply the CPS by 10, you get the average
  4513.      baud rate for the transfer.  In the above example, 1243 CPS is the same as
  4514.      12430 Baud.  It is not a joke, this is an actual screen capture using a
  4515.      9600 Baud modem!
  4516.      
  4517.      Efficiency tells you how close to the actual serial port baud rate the
  4518.      transfer is.  Again, in the above example, the serial port was set to
  4519.      19200 Baud and the transfer was going at 64.7% of 19200.
  4520.      
  4521.      
  4522.      XMODEM CRC
  4523.      
  4524.      The second method of error checking is called CRC, short for Cyclic
  4525.      Redundancy Checking.  This method has an error detection rate of 99.9969%.
  4526.      Check with your local board to find out if Xmodem CRC is available.
  4527.      Qmodem is intelligent enough to figure out which is being sent when you
  4528.      download.  If you select the wrong one, Qmodem will make sure you get it
  4529.      right.
  4530.      
  4531.      
  4532.      RELAXED XMODEM
  4533.      
  4534.      Relaxed Xmodem is nothing more than regular Xmodem, except the timing has
  4535.      been relaxed by a factor of 10.  In other words, it takes ten times longer
  4536.      for the error condition to be generated.  CompuServe users will appreciate
  4537.      this.  In fact, it was because of the way CompuServe handles (or fail to
  4538.      handle) Xmodem that this was added.
  4539.      
  4540.      
  4541.      IMODEM
  4542.      
  4543.      The Imodem protocol was created by us.  It was the first protocol to take
  4544.      advantage of modems that have internal error correction.  A good example
  4545.      would be MNP from Microcom.  MNP protocol can be implemented on the
  4546.      hardware level usually inside your modem.  When two modems connect using
  4547.      MNP, the modems do all the checking and retransmission necessary for a
  4548.      clean exchange.
  4549.  
  4550.  
  4551.  
  4552.  
  4553.                  Copyright (C) by The Forbin Project, Inc.        61
  4554.  
  4555.  
  4556. Qmodem 3.0                                                             Commands
  4557.  
  4558.  
  4559.  
  4560.  
  4561.      
  4562.      Imodem has recently been tested with the new 9600 baud modems.  9600 baud
  4563.      transmissions just have to be seen to be believed!
  4564.      
  4565.      You might ask yourself, "How does Qmodem take advantage of MNP"?
  4566.      
  4567.      The modems are always verifying the data so there ARE no errors in the
  4568.      transfer.  Imodem is a block oriented transfer method that uses no ACK or
  4569.      NAK in the Xmodem sense.  Every block that goes out is guaranteed to get
  4570.      there the way it was sent.  So, Imodem does not wait for the other
  4571.      computer to say if the block was correct or not, that is handled by the
  4572.      modems in REAL time.
  4573.      
  4574.      "But why does CTS have to be used?"
  4575.      
  4576.      In our experiences with MNP in the modems, the CTS signal is used to
  4577.      temporarily halt the flow to the modem when an error occurs.  If they
  4578.      didn't, Qmodem would overflow the modem and lost data would result.
  4579.      
  4580.      "What are the advantages of Imodem?"
  4581.      
  4582.      Imodem showed an impressive 115 blocks a minute at 2400 baud.  To put that
  4583.      in perspective, normal Xmodem (or Xmodem CRC) could only get about 88
  4584.      blocks a minute at 2400 baud.  Remember, to use Imodem, the modems MUST
  4585.      have an internal protocol and CTS checking must be turned on.
  4586.      
  4587.      There is an appendix in the back of the manual that describes the Imodem
  4588.      protocol in detail.
  4589.      
  4590.      
  4591.      YMODEM
  4592.      
  4593.      Ymodem is a modified version of Xmodem CRC.  It allows sending 1024 byte
  4594.      blocks as opposed to Xmodem's 128 byte blocks.  With this release of
  4595.      Qmodem, the Ymodem code has been modified to handle the variation of 1K
  4596.      Xmodem blocks used by a small number of programs.  This is transparent to
  4597.      the end user.
  4598.      
  4599.      
  4600.      YMODEM-G
  4601.      
  4602.      Ymodem-G is a combination of Ymodem and Imodem.  Ymodem block
  4603.      specifications apply and Imodem Error checking is used.  This means that
  4604.      the modems must have an internal method of error checking and the CTS
  4605.      signal must be used.
  4606.      
  4607.      Do NOT use Ymodem-G or Imodem if you do NOT have such a modem!  It will
  4608.      only cause frustration for you and me.
  4609.      
  4610.      
  4611.      EXTERNAL PROTOCOLS
  4612.      
  4613.      External protocols work a little different.  Qmodem invokes another
  4614.      program to do the actual file transfer.  If you got the complete set of
  4615.  
  4616.  
  4617.  
  4618.  
  4619.                  Copyright (C) by The Forbin Project, Inc.        62
  4620.  
  4621.  
  4622. Qmodem 3.0                                                             Commands
  4623.  
  4624.  
  4625.  
  4626.  
  4627.      Qmodem files, there was an EXTERNAL.ARC file that contained a set of BAT
  4628.      files and transfer programs to get you started.  Kermit, WXModem, Zmodem
  4629.      and Ymodem Batch are included.
  4630.      
  4631.      Because Qmodem has no control over the external program while it is doing
  4632.      the file transfer, the screen will clear and the external program is in
  4633.      full control.  When the transfer has completed, you will be right back in
  4634.      Qmodem where you left off.
  4635.      
  4636.      For more information on External Protocols, see the Qinstall Section.
  4637.      
  4638.      
  4639.      
  4640.      PgDn  DOWNLOAD A FILE.
  4641.      
  4642.      Download uses the same protocols as Upload and the descriptions will not
  4643.      be repeated.  There are some differences in the windows and we will go
  4644.      over these now.
  4645.      
  4646.      The Protocol window is slightly different:
  4647.      
  4648.                +=[ Download Protocols ]=+
  4649.                | Free Space 4614144     |
  4650.                | A) Ascii               |
  4651.                | X) Xmodem              |
  4652.                | C) Xmodem CRC          |
  4653.                | R) Relaxed Xmodem      |
  4654.                | I) Imodem              |
  4655.                | Y) Ymodem              |
  4656.                | G) Ymodem-G            |
  4657.                +======[ External ]======+
  4658.                | B) Batch Ymodem        |
  4659.                | Z) Zmodem              |
  4660.                | K) Super Kermit        |
  4661.                | W) WXmodem             |
  4662.                | Your choice ? _        |
  4663.                +========================+
  4664.           
  4665.      At the top of the window, you will see the amount of free space on the
  4666.      drive you have designated as your download drive.  The rest of the window
  4667.      is the same as Upload.
  4668.      
  4669.      Below, the protocols are described if there is a difference from the
  4670.      Upload counterpart.
  4671.      
  4672.      
  4673.      ASCII
  4674.      
  4675.      The screen will clear and you will be told that pressing the PgDn key will
  4676.      terminate the transfer and save the file.  If you start the transfer, but
  4677.      no data has been received, Qmodem will pretend as if no file was ever
  4678.      sent.
  4679.      
  4680.      
  4681.  
  4682.  
  4683.  
  4684.  
  4685.                  Copyright (C) by The Forbin Project, Inc.        63
  4686.  
  4687.  
  4688. Qmodem 3.0                                                             Commands
  4689.  
  4690.  
  4691.  
  4692.  
  4693.      XMODEM
  4694.      
  4695.      The following is a snapshot of the Download window in action:
  4696.      
  4697.           +=[ Download File (receive) ]============================+
  4698.           |Press [PgDn] to abort.                                  |
  4699.           |Total Blocks received   : 64    Bytes/Blk : 1029        |
  4700.           |-- Long Block errors    : 0     Tot. Bytes: 65536       |
  4701.           |-- Short Block errors   : 0                             |
  4702.           |-- SOH errors           : 0   Average CPS : 963         |
  4703.           |-- Complement errors    : 0    Efficiency : 50.2%       |
  4704.           |-- Block number errors  : 0                             |
  4705.           |-- Timeout errors       : 0                             |
  4706.           |-- Resend Block errors  : 0                             |
  4707.           |-- CRC errors           : 0                             |
  4708.           |-- Last error message   :                               |
  4709.           +========================================================+
  4710.      
  4711.      All types of errors are kept track of.  When the transfer starts, the
  4712.      download window clears and a list of all of the errors are displayed.
  4713.      Total blocks received is displayed at the top.  The last line of the
  4714.      window shows the most recent error message and at which block it occurred.
  4715.      
  4716.      If you receive ten errors in a row, Qmodem will cancel the transfer.  As
  4717.      soon as one block of data is received successfully, the error count is set
  4718.      to zero.  Qmodem tries to recover from all data errors.  You will note too
  4719.      the speed of which Qmodem can recover.
  4720.      
  4721.      New with 3.0 is the Total Bytes, Average CPS and Efficiency.  The latter
  4722.      two were discussed in the Upload section and will not be repeated.  The
  4723.      Total Bytes counter shows you how much data (in bytes) has been received
  4724.      so far.  This is a visual aid to help you judge how much longer the file
  4725.      transfer will take.
  4726.      
  4727.      
  4728.      ERRORS DETECTED
  4729.      
  4730.      Now a brief description of the errors that can be detected during a
  4731.      transfer.  Qmodem keeps track of each type separately.
  4732.      
  4733.           1)   Long block error  -  Caused usually by line noise and this
  4734.                creates extra characters in the transmission.
  4735.           
  4736.           2)   Short block error  -  if the line is weak or you are recovering
  4737.                from a previous error, this can result.  It means that Qmodem
  4738.                did not receive enough characters to complete the data block.
  4739.           
  4740.           3)   SOH error - The first character of every Xmodem block is the SOH
  4741.                character (01 HEX).  If the first character is not an SOH,
  4742.                Qmodem flags the block as bad.  Chances are that if the first
  4743.                byte is bad, so are a few others due to the fact that line noise
  4744.                usually lasts  long enough to corrupt more that one byte.
  4745.           
  4746.  
  4747.  
  4748.  
  4749.  
  4750.  
  4751.                  Copyright (C) by The Forbin Project, Inc.        64
  4752.  
  4753.  
  4754. Qmodem 3.0                                                             Commands
  4755.  
  4756.  
  4757.  
  4758.  
  4759.           4)   Complement error - The data block had two bytes in the header to
  4760.                hold the block number that is being transmitted/received.  The
  4761.                second  of these two is the complement of the first (first byte
  4762.                XOR 255). This ensures that Qmodem is getting the correct block.
  4763.           
  4764.           5)   Block # error - This is usually caused by line noise too.  The
  4765.                transmitting computer received a NAK in place of the ACK Qmodem
  4766.                sent and resends the block you just received successfully.
  4767.                Essentially,  Qmodem ignores the block and sends another ACK.
  4768.           
  4769.           6)   Checksum/CRC error - Every block of data in Xmodem is followed
  4770.                by either a Checksum byte or by 2 CRC bytes.  CRC is a more
  4771.                accurate method of error detection, but requires one more byte
  4772.                to be sent in  every block.  If the Checksum or CRC is wrong,
  4773.                Qmodem sends a NAK and discards the data.  Again, line noise is
  4774.                usually the culprit.
  4775.      
  4776.      This might be an appropriate place to mention that if you have "Call
  4777.      Waiting" with your phone service and someone calls you while you are doing
  4778.      an Upload/Download, you stand a chance of getting errors.  This may even
  4779.      terminate the transfer depending on the noise generated.  Be forewarned!
  4780.      
  4781.      
  4782.      
  4783.      UP-ARROW  SCROLL BACK
  4784.      
  4785.      By pressing the Up-Arrow, you can scroll back through the previous lines
  4786.      of data that have come in.  The valid keys in scroll back mode are
  4787.      
  4788.           Up arrow    - go up one line
  4789.           Down arrow  - go down one line
  4790.           PgUp        - go up one page
  4791.           PgDn        - go down one page
  4792.           Home        - go to the top
  4793.           End         - go to the end
  4794.           ALT-S       - save to disk
  4795.           ALT-C       - clear the scroll back
  4796.           Esc         - exit scroll back
  4797.           
  4798.      Pressing the [Esc] will exit scroll back mode.  This should be pretty much
  4799.      self explanatory.  When you reach the top of the scroll, you get the
  4800.      message:
  4801.      
  4802.           * Top of Scroll
  4803.      
  4804.      When you are at the bottom :
  4805.      
  4806.           * Bottom of Scroll
  4807.      
  4808.      The scroll back area is dynamically allocated in Qmodem so you can store
  4809.      thousands of lines.  Qinstall has the capability to set Qmodem's Heap/
  4810.      Stack space for just this purpose.  Qmodem comes configured with the
  4811.      minimum setting, 0C00 hex paragraphs.  A paragraph is 16 bytes and the
  4812.  
  4813.  
  4814.  
  4815.  
  4816.  
  4817.                  Copyright (C) by The Forbin Project, Inc.        65
  4818.  
  4819.  
  4820. Qmodem 3.0                                                             Commands
  4821.  
  4822.  
  4823.  
  4824.  
  4825.      number is specified in hex.  Because Qmodem needs room of its own, the
  4826.      minimum of 0C00 will give about 36 lines to the scroll back.
  4827.      
  4828.      The memory left over not used by the scroll back is used for the ALT-R DOS
  4829.      shell, the ALT-V View File and the External Protocols for file transfers.
  4830.      If you over allocate the scroll back memory, these may not work properly.
  4831.      Experimentation is the only way to find a happy medium.
  4832.      
  4833.      
  4834.      
  4835.      CTRL-HOME  CAPTURE TO DISK
  4836.      
  4837.      Pressing Ctrl-Home open a window and ask you to verify the file to be used
  4838.      to "Capture" data to.  You can change the file to be used by back spacing
  4839.      over the current filename and entering a new one.  If it is a new file,
  4840.      Qmodem will ask you if it should create the file.  Enter a "Y" to do so,
  4841.      or "N" to re-enter the filename.  Pressing ESC will abort the Capture and
  4842.      return you to Qmodem Ready mode.
  4843.      
  4844.      If you do start capturing to disk, Qmodem will put a message on the screen
  4845.      telling you it is working.
  4846.      
  4847.      To close the capture file, you hit the Ctrl-Home again.  Qmodem will close
  4848.      the file on disk and put a message on the screen telling you the Capture
  4849.      is OFF.
  4850.      
  4851.      
  4852.      
  4853.      CTRL-END  SENDING A TRUE BREAK.
  4854.      
  4855.      If your modem is capable of sending a true BREAK signal, you would use
  4856.      Ctrl-End to send it.  A true BREAK signal lasts for 1.5 seconds and is
  4857.      used to notify the other computer that you want to interrupt whatever it
  4858.      is doing.  The online service GEnie can use the BREAK signal like you
  4859.      would use the ^C to stop some of your programs on the PC.
  4860.      
  4861.      Pressing Ctrl-End put a message out on the screen that says:
  4862.      
  4863.           * <BREAK>
  4864.      
  4865.      
  4866.      
  4867.      CTRL-PRTSC  COPYING TO THE PRINTER.
  4868.      
  4869.      If you have a printer hooked up, and would like the text on your screen to
  4870.      echo to the printer, press Ctrl-PrtSc.  Then, everything that comes across
  4871.      the line will go to the printer.
  4872.      
  4873.      This is a toggle, so to turn the copy off, press Ctrl-PrtSc again.
  4874.      
  4875.      Be SURE you have a printer hooked up and turned on before turning this on.
  4876.      If you don't, you will get a DOS "Abort, Retry or Ignore" error message.
  4877.      
  4878.      
  4879.  
  4880.  
  4881.  
  4882.  
  4883.                  Copyright (C) by The Forbin Project, Inc.        66
  4884.  
  4885.  
  4886. Qmodem 3.0                                                             Commands
  4887.  
  4888.  
  4889.  
  4890.  
  4891.      
  4892.      SHIFT-TAB  ADD LINEFEEDS TO CARRIAGE RETURNS.
  4893.      
  4894.      This is a toggle to add a Linefeed (LF) to a lone Carriage Return (CR).
  4895.      You can tell when you need to turn this on by seeing lines write over each
  4896.      other on the screen.
  4897.      
  4898.      
  4899.      
  4900.      ALT-1  BACKSPACE <-> DEL TOGGLE.
  4901.      
  4902.      This controls the character sent when the backspace (BS) or CTRL-H (^H)
  4903.      key is pressed.  The ^H and the BS key are treated the same in Qmodem.
  4904.      The BS normally sends a ^H (ASCII 8) when pressed.  If you are using a
  4905.      terminal emulation such as VT100, you may want the BS to send a DEL (ASCII
  4906.      127) when pressed.  This toggles the state back and forth between BS and
  4907.      DEL.
  4908.      
  4909.      Whichever mode is active for the BS key (BS or DEL), by pressing ^BS
  4910.      (holding the CTRL key down and pressing BS) will send the opposite code.
  4911.      
  4912.      For example:
  4913.      
  4914.           You have the BS key set in BS mode.  By pressing ^BS, Qmodem will
  4915.           send the DEL code.
  4916.           
  4917.      In the Status Line at the bottom of the screen, the BS <-> DEL indicator
  4918.      is the first one in the Toggles area.  When is normal BS = BS mode, the
  4919.      indicator shows "Left Arrow = Left Arrow".  When it is in the BS = DEL
  4920.      mode, the indicator shows "Left Arrow = DEL Symbol".
  4921.      
  4922.      
  4923.      
  4924.      ALT-2, ALT-3, ALT-4, ALT-5 & ALT-6
  4925.      EGA SCREEN MODES.
  4926.      
  4927.      We have good news for those of you with EGA adapters!  Qmodem supports 5
  4928.      different screen modes when using an EGA adapter.  Now you can have more
  4929.      lines on your screen at the touch of a key.
  4930.      
  4931.           ALT-2  -  80 x 25  This is the standard mode
  4932.           ALT-3  -  80 x 35
  4933.           ALT-4  -  80 x 43  Others brag about 43 lines on the screen...
  4934.           ALT-5  -  80 x 50  A bit fuzzy, but twice the screen.
  4935.           ALT-6  -  80 x 57  An incredibly small, but readable 57 lines!
  4936.      
  4937.      Some commands can take advantage of the larger screens; the Help Screen
  4938.      from the Main Menu, the Disk Directory (Alt-W), the Split screen mode
  4939.      (Alt-S) and the Scroll back display (Up Arrow).
  4940.      
  4941.      
  4942.      
  4943.      ALT-8  HI BIT STRIPPING TOGGLE.
  4944.      
  4945.  
  4946.  
  4947.  
  4948.  
  4949.                  Copyright (C) by The Forbin Project, Inc.        67
  4950.  
  4951.  
  4952. Qmodem 3.0                                                             Commands
  4953.  
  4954.  
  4955.  
  4956.  
  4957.      This is used to strip the hi bits from incoming data when using mini or
  4958.      mainframe systems such as CompuServe or the Source.
  4959.      
  4960.      The symptom is when you are online to these systems, some of the data
  4961.      coming in looks like garbage characters.  What you are really seeing is
  4962.      the correct data, but the parity bit is causing the PC to display the
  4963.      graphics characters above ASCII 127.  To view this correctly, you need to
  4964.      strip the hi bits before they get displayed.
  4965.      
  4966.      Qmodem comes up in 8 bit mode by default, but this can be changed with a
  4967.      Script command to automate it when calling Cserve.
  4968.      
  4969.      The Status Line will either show an 8 or a 7 in the Toggles area depending
  4970.      on the current mode.
  4971.      
  4972.      If you use Qmodem to call BBS's that use the fancy graphics characters and
  4973.      ANSI escape codes, make sure you are in 8 bit mode.  Otherwise, the
  4974.      graphics will be converted to alphanumerics and will not look right.
  4975.      
  4976.      
  4977.      
  4978.      ALT-0  LOG FILE TOGGLE.
  4979.      
  4980.      The LOG feature is used to track the usage of Qmodem.  Who you called,
  4981.      when you called, how long you were online are just a few of the things in
  4982.      the LOG file.  The Log has a Time and Date stamp for every entry.
  4983.      
  4984.      ALT-0 is a toggle.  If the Log is closed, you are prompted for a filename
  4985.      and it opens.  If it's already open, then it will be closed.
  4986.      
  4987.      To give you a feel for what the Log does, here is a sample:
  4988.      
  4989.           23:24:17  04/04/87  Qmodem Log File Created.
  4990.           23:24:18  04/04/87  Qmodem Log File Opened.
  4991.           23:25:08  04/04/87  Connected With  : TC Colossus
  4992.           23:25:08  04/04/87  ++ Phone Number : 339-4216
  4993.           23:25:08  04/04/87  ++ Comm Speed   : 19200-8-N-1
  4994.           23:25:09  04/04/87  Online Timer Started.
  4995.           23:25:27  04/04/87  Hangup Command entered.
  4996.           23:25:29  04/04/87  Elapsed Online 00:00:20
  4997.           23:26:00  04/04/87  Connected With  : Terrapin Station
  4998.           23:26:00  04/04/87  ++ Phone Number : 623-0307
  4999.           23:26:00  04/04/87  ++ Comm Speed   : 19200-8-N-1
  5000.           23:26:01  04/04/87  Online Timer Started.
  5001.           23:36:58  04/04/87  Elapsed Online 00:10:56
  5002.           23:39:42  04/04/87  Connected With  : TCS-PCBoard for Net Mail
  5003.           23:39:42  04/04/87  ++ Phone Number : 1-415-837-4610
  5004.           23:39:42  04/04/87  ++ Comm Speed   : 19200-8-N-1
  5005.           23:39:45  04/04/87  Online Timer Started.
  5006.           23:45:01  04/04/87  Elapsed Online 00:05:15
  5007.           00:45:35  04/06/87  Connected With  : LANS BBS - Stults
  5008.           00:45:35  04/06/87  ++ Phone Number : 1-219-884-9508
  5009.           00:45:35  04/06/87  ++ Comm Speed   : 19200-8-N-1
  5010.           00:45:35  04/06/87  Online Timer Started.
  5011.  
  5012.  
  5013.  
  5014.  
  5015.                  Copyright (C) by The Forbin Project, Inc.        68
  5016.  
  5017.  
  5018. Qmodem 3.0                                                             Commands
  5019.  
  5020.  
  5021.  
  5022.  
  5023.           00:54:57  04/06/87  Directory changed to Z:\DL
  5024.           00:55:10  04/06/87  Download Filename qvt.arc
  5025.           00:55:10  04/06/87  ++ Using Imodem protocol.
  5026.           00:56:17  04/06/87  ++ Long block errors   : 0
  5027.           00:56:17  04/06/87  ++ Short block errors  : 0
  5028.           00:56:17  04/06/87  ++ SOH errors          : 0
  5029.           00:56:17  04/06/87  ++ Complement errors   : 0
  5030.           00:56:17  04/06/87  ++ Block number errors : 0
  5031.           00:56:17  04/06/87  ++ Time Out errors     : 0
  5032.           00:56:17  04/06/87  ++ Resend Block errors : 0
  5033.           00:56:17  04/06/87  ++ Checksum errors     : 0
  5034.           00:56:17  04/06/87  ++ Chars Per Second    : 961
  5035.           00:56:17  04/06/87  ++ Effective Percent   :  50.1
  5036.           01:03:41  04/06/87  Elapsed Online 00:18:05
  5037.      
  5038.      Some Log entries take up more than one line.  As in the example, any entry
  5039.      that begins with "++" means it is a continuation of the previous entry.
  5040.      As in the case of a download or upload, there are several "++" entries to
  5041.      give you complete statistics.
  5042.      
  5043.      Here is a complete listing of all possible Log entries (minus the time and
  5044.      date stamps) :
  5045.      
  5046.      
  5047.      Key       Log entry
  5048.      -----     ------------------------------------------
  5049.      [user]    STAMP [stamp message from Fkey or Script]
  5050.      
  5051.      [auto]    Online Timer Started.
  5052.      [auto]    Elapsed Online xx:xx:xx  (military format)
  5053.      
  5054.      ALT-0     Qmodem Log File Closed.
  5055.                Qmodem Log File Created.
  5056.                Qmodem Log File Opened.
  5057.      
  5058.      ALT-D     Connected With  : [Board Name]
  5059.                ++ Phone Number : [Board Number]
  5060.                ++ Comm Speed   : [Speed-Parity-Databits-Stopbits]
  5061.      
  5062.      ALT-H     Hangup Command entered.
  5063.      
  5064.      ALT-K     Comm Port [PortNumber] selected.  (1...8)
  5065.      
  5066.      ALT-J     New KEY file [KeyFileName].
  5067.      
  5068.      ALT-L     Default Drive now [DriveLetter]:  (A...Z)
  5069.      
  5070.      ALT-O     Directory changed to [DirectoryPath]
  5071.      
  5072.      ALT-R     Dropping to DOS.
  5073.                ++ Drop to DOS Failed.
  5074.      
  5075.      ALT-X     Exiting QMODEM.
  5076.      
  5077.  
  5078.  
  5079.  
  5080.  
  5081.                  Copyright (C) by The Forbin Project, Inc.        69
  5082.  
  5083.  
  5084. Qmodem 3.0                                                             Commands
  5085.  
  5086.  
  5087.  
  5088.  
  5089.      ALT-Y     File [Filename] DELETED.
  5090.      
  5091.      PgDn      Download Filename [Filename]
  5092.                ++ Using Ymodem-G protocol.
  5093.                ++ Using Imodem protocol.
  5094.                ++ Using Xmodem CRC protocol.
  5095.                ++ Using Xmodem protocol.
  5096.                ++ Using Ymodem protocol.
  5097.                ++ Using ASCII protocol.
  5098.                ++ Long block errors   : [Number]
  5099.                ++ Short block errors  : [Number]
  5100.                ++ SOH errors          : [Number]
  5101.                ++ Complement errors   : [Number]
  5102.                ++ Block number errors : [Number]
  5103.                ++ Time Out errors     : [Number]
  5104.                ++ Resend Block errors : [Number]
  5105.                ++ Checksum errors     : [Number]
  5106.                ++ Chars Per Second    : [Number]
  5107.                ++ Effective Percent   : [Number]
  5108.                ++ Download Aborted.
  5109.                Download Executing [BatchFileName].
  5110.                ++ External Batch Failure.
  5111.      
  5112.      PgUp      Uploading File [filename]
  5113.                ++ Chars Per Second    : [number]
  5114.                ++ Effective Percent   : [number]
  5115.                ++ Upload Aborted.
  5116.                ++ Using Ymodem-G protocol.
  5117.                ++ Using Imodem protocol.
  5118.                ++ Using Xmodem CRC protocol.
  5119.                ++ Using Xmodem protocol.
  5120.                ++ Using Ymodem protocol.
  5121.                ++ Using ASCII protocol.
  5122.                ++ Transfer Successful.
  5123.                Executing External Upload Batch [BatchFileName]
  5124.                ++ External Batch Failure.
  5125.      
  5126.      ^End      BREAK signal sent.
  5127.      
  5128.      
  5129.      The entry marked [user] will vary with the STAMP command used in F-Keys
  5130.      and the Script language.  Both will begin with the word STAMP and are
  5131.      followed with user supplied text.
  5132.      
  5133.      The following two entries marked [auto] are done when Qmodem changes from
  5134.      offline to online and vise versa.
  5135.      
  5136.      All the rest of the entries are related to a command as listed in the left
  5137.      column.
  5138.      
  5139.      Because Logging can be turned on automatically, (see Qinstall) you can now
  5140.      keep a perfect record of all your long distance calls!  Many other
  5141.      important functions of operation can also be tracked.
  5142.  
  5143.  
  5144.  
  5145.  
  5146.  
  5147.                  Copyright (C) by The Forbin Project, Inc.        70
  5148.  
  5149.  
  5150. Qmodem 3.0                                                      Script Language
  5151.  
  5152.  
  5153.  
  5154.  
  5155.      SCRIPT LANGUAGE.
  5156.      
  5157.      Scripts are very flexible.  You'll find ways to use them that aren't
  5158.      described here.  But conceptually, there are four types of scripts:
  5159.      
  5160.           1.   Linked scripts, which run automatically when you select a
  5161.                numbered entry from the Qmodem phone directory.  The same script
  5162.                can be linked to more than one entry.  Typically, this type of
  5163.                script ends when logon is completed successfully.  Then YOU take
  5164.                control.  Examples:
  5165.           
  5166.                You have two different local Uninet phone numbers in your Qmodem
  5167.                phone directory.  The script SOURCE-U.LOG can be linked to both
  5168.                numbers for auto-logon to The Source.
  5169.           
  5170.                You have three different RBBS systems in your Qmodem phone
  5171.                directory.  Your password is the same for all three.  A single
  5172.                script like RBBS.LOG can be linked to all three numbers.
  5173.           
  5174.           2.   Scripts with parameters, which you start by typing the ALT-F key
  5175.                combination.  These scripts can be simple or complex, and they
  5176.                may optionally include up to ten parameters (variables) that you
  5177.                specify after you type ALT-F.
  5178.      
  5179.           3.   Scripts that you have linked to the Function Keys.  These also
  5180.                can have parameters attached to them.  Because they are stored
  5181.                in a Function Key Macro file, you never have to re-enter the
  5182.                parameters every time you run the Script.
  5183.      
  5184.           4.   The last type of Script is the type that needs no parameters.
  5185.                This is a "stand alone" Script.  It can be executed from the
  5186.                command line when you start Qmodem.
  5187.                
  5188.                Example: You want to execute Script DOFIRST.SCR when starting
  5189.                Qmodem.  The command line would be:
  5190.                     
  5191.                          C>QMODEM /S=DOFIRST.SCR<cr>
  5192.           
  5193.                When Qmodem would normally tell you its "Ready", it will begin
  5194.                executing the Script.  This could be coded in a BATCH file so
  5195.                you do not have to type the command line in every time.
  5196.           
  5197.      
  5198.      LINKING A SCRIPT TO PHONE DIRECTORY ENTRIES.
  5199.      
  5200.      
  5201.      You can link a script to each of the phone directory entries to automate
  5202.      your logons.  Here's how to do it:
  5203.      
  5204.           Type ALT-D then press [ENTER] to view the directory.
  5205.           
  5206.           Type R (Revise) to link a script to a new or old entry.
  5207.           
  5208.           Type in the number you want to change and press [ENTER].
  5209.  
  5210.  
  5211.  
  5212.  
  5213.                  Copyright (C) by The Forbin Project, Inc.        71
  5214.  
  5215.  
  5216. Qmodem 3.0                                                      Script Language
  5217.  
  5218.  
  5219.  
  5220.  
  5221.           
  5222.           Press [ENTER] until you get to the "New Script File" prompt.
  5223.           
  5224.           Type in a SCRIPT NAME (FILENAME.EXT) at the prompt.
  5225.           
  5226.           Press [ENTER] at all the remaining prompts until the window
  5227.           disappears.
  5228.           
  5229.      There!  Now the phone book entry has been updated both in memory and on
  5230.      disk.  Be sure that the Script file is in the directory you entered in
  5231.      Qinstall.
  5232.      
  5233.      
  5234.      PHONE NUMBERS AND COMMUNICATION PARAMETERS IN SCRIPTS.
  5235.      
  5236.      A script which is linked to a phone book entry must NOT include a DIAL
  5237.      command.  When using ALT-D to dial, the Script attached to the entry would
  5238.      start to execute after a connection has been made.  It would make no sense
  5239.      to do a DIAL command when you are already online!
  5240.      
  5241.      A SETCOMM Script command is also unnecessary.  The linked script is run
  5242.      after the parameters are set from the phone book, the phone number in the
  5243.      directory entry is dialed, and a connection is completed.
  5244.      
  5245.      A stand-alone script usually needs a DIAL "N" or DIAL "N N" command, where
  5246.      each "N" is a directory entry number.  "N" determines the communication
  5247.      parameters and dials the specified entry or entries until connected.  If a
  5248.      script is linked to the dial entry "N", it will be ignored and the main
  5249.      script will have control when connected.  If you use a SEND command to
  5250.      'manually' dial the modem (ie. SEND "ATDT 555-1212"), you must WAITFOR
  5251.      "CONNECT" from the modem before you send other commands, and you must use
  5252.      SETCOMM to set your communication parameters before the DIAL command.
  5253.      
  5254.      
  5255.      
  5256.      HOW TO CREATE AND NAME A SCRIPT FILE.
  5257.      
  5258.      Just use your favorite word processor or text editor to create a script.
  5259.      You may save it using any FILENAME.EXT you wish.  For scripts that include
  5260.      a phone number, we recommend filenames that end with the extension ".SCR".
  5261.      For scripts that do not include a phone number (linked scripts), we
  5262.      recommend filenames that end with the extension ".LOG".  These naming
  5263.      conventions will help you keep track of your scripts.
  5264.      
  5265.      You MUST save your scripts as plain-text ASCII files.  Non-ASCII files
  5266.      like those produced by WordStar's D or Document mode won't work (for
  5267.      WordStar, use N at the opening prompt to create scripts in the Non-
  5268.      document mode).  If your favorite editor doesn't have an ASCII save
  5269.      option, you can use the built-in DOS utility EDLIN.
  5270.      
  5271.      My favorite method of creating a script is with SideKick.  Then, when I
  5272.      connect with the new board, I use SideKick's Notepad and import portions
  5273.      of the screen to build the script on-the-fly.  Another easy way to create
  5274.  
  5275.  
  5276.  
  5277.  
  5278.  
  5279.                  Copyright (C) by The Forbin Project, Inc.        72
  5280.  
  5281.  
  5282. Qmodem 3.0                                                      Script Language
  5283.  
  5284.  
  5285.  
  5286.  
  5287.      the scripts, is to turn on Capture-to-Disk (Ctrl-Home) and save the normal
  5288.      logon.  Then go back and edit the file to do the logon next time you call!
  5289.      
  5290.      
  5291.      
  5292.      RUNNING A SCRIPT THAT INCLUDES A PHONE NUMBER
  5293.      OR A LINK TO A QMODEM PHONE DIRECTORY ENTRY NUMBER.
  5294.      
  5295.      Once you've created a script, there are two ways to run it.  The first
  5296.      method involves the ALT-F (Script Execution) command.  The second method
  5297.      is by using the F-Keys.
  5298.      
  5299.      
  5300.      USING THE ALT-F COMMAND.
  5301.      
  5302.      First you'll be asked for a script name.  Enter it, including the
  5303.      extension (FILENAME.EXT), then you'll be asked for parameters (if any).
  5304.      At first, you probably won't use parameters, so press the [ENTER] key.  At
  5305.      that point, the script file takes control -- until the command EXIT is
  5306.      reached in the script.
  5307.      
  5308.      
  5309.      USING AN F-KEY.
  5310.      The second method is by using the SCRIPT keyword in a function key
  5311.      definition.  This would be used if you have a common script to execute and
  5312.      you do not need to enter parameters every time it's executed.  Here's how
  5313.      to do it:
  5314.      
  5315.           Press ALT-J and select a function key group.  (say 1 for normal)
  5316.           
  5317.           Select the key to execute the script.  (say 1 for F1)
  5318.           
  5319.           [In this example, we will execute the script DAILY.SCR]
  5320.           
  5321.           Enter "SCRIPT DAILY.SCR" (without the quotes) and press [ENTER]
  5322.           
  5323.           Press [Esc] twice to get back to command mode.
  5324.           
  5325.      That's it!  Now, when you press the F1 key, the script DAILY.SCR will
  5326.      execute.  Make sure that the script exists in the directory you entered in
  5327.      Qinstall.
  5328.      
  5329.      If your script includes a dialing command, with one or more of your Qmodem
  5330.      phone number directory entry numbers (ie. DIAL "1"  or DIAL "1, 5, 6"),
  5331.      the script will automatically dial/re-dial the number(s) until connected,
  5332.      then continue processing the script.  For security, you can specify your
  5333.      private logon password associated with the script at run time, as a
  5334.      parameter (described later), rather than including it in the script
  5335.      itself.
  5336.      
  5337.      
  5338.      
  5339.      STOPPING A SCRIPT.
  5340.      
  5341.  
  5342.  
  5343.  
  5344.  
  5345.                  Copyright (C) by The Forbin Project, Inc.        73
  5346.  
  5347.  
  5348. Qmodem 3.0                                                      Script Language
  5349.  
  5350.  
  5351.  
  5352.  
  5353.      You can stop a script at any time by pressing the ESC key.  When you do,
  5354.      you'll be asked if you wish to halt the script. Touch Y to stop or N to
  5355.      continue.  If N was selected, the script will pick up where it left off.
  5356.      
  5357.      
  5358.      
  5359.      EXECUTING LINKED SCRIPTS.
  5360.      
  5361.      Once you've created a linked script, you can use the ALT-D command to link
  5362.      it to at least one Qmodem directory entry.  Each directory entry has the
  5363.      option to include a script name.  You will be asked for the name of a
  5364.      script whenever you add a new entry to your dialing directory.  For old
  5365.      entries in the directory, use the R (Revise) command to add the script
  5366.      name.
  5367.      
  5368.      When prompted for a SCRIPT NAME, specify your .LOG file.  The next time
  5369.      you dial that directory entry number with the ALT-D command, the linked
  5370.      script will be run after a connection.
  5371.      
  5372.      Note: Parameters are not available for use with scripts that are linked to
  5373.      dialing directory entries.
  5374.      
  5375.      
  5376.      SPECIAL CHARACTERS IN SCRIPTS.
  5377.      
  5378.      The characters { and ~ have special meaning in scripts.  Because of this,
  5379.      these characters cannot be sent to the modem or remote computer:
  5380.      
  5381.           "{" is used in place of a CR or [ENTER] key.
  5382.           "~" causes a delay of 1/2 second.
  5383.      
  5384.      To insert CTRL characters in your scripts, your editor must be able to add
  5385.      them.  In WordStar(tm) and SideKick(tm), you first press ^P followed by
  5386.      the ctrl character you want to insert.  In EDLIN(tm), you first enter ^V
  5387.      followed by the ctrl character.  Check you editors manual for instructions
  5388.      if different than these.
  5389.      
  5390.      
  5391.      
  5392.      BASIC SCRIPTING COMMANDS.
  5393.      
  5394.      When you write scripts, include informative comments.  Lines that start
  5395.      with a period are treated as comments and do not display.  Blank lines are
  5396.      OK too and will help make your scripts easier to understand and edit.
  5397.      
  5398.      With all script commands, all characters are valid.  Upper or lower case
  5399.      makes no difference:
  5400.           
  5401.           This_is_a_very_long_label:      A very long label
  5402.           This_is_not:                    A short one
  5403.      
  5404.      and
  5405.      
  5406.           THIS_LABEL:   is the same as  ThIs_LaBeL:
  5407.  
  5408.  
  5409.  
  5410.  
  5411.                  Copyright (C) by The Forbin Project, Inc.        74
  5412.  
  5413.  
  5414. Qmodem 3.0                                                      Script Language
  5415.  
  5416.  
  5417.  
  5418.  
  5419.      
  5420.      are the same.
  5421.      
  5422.      Some script commands have several parameters; if they are enclosed in
  5423.      square brackets ([]), they are optional.  Parameters that use quote marks
  5424.      (" ") or (' ') should be included; thus the DIAL command would be as
  5425.      follows:
  5426.      
  5427.           DIAL "1"
  5428.      
  5429.      or
  5430.      
  5431.           DIAL '1 2 3 4'
  5432.      
  5433.      are valid.  Do not mix the two together unless you want to embed one
  5434.      inside the other.  To send the following message
  5435.      
  5436.           John said, "Qmodem is the BEST!"
  5437.      
  5438.      you would use the following command
  5439.      
  5440.           SEND 'John said, "Qmodem is the BEST!"'
  5441.      
  5442.      The quotes can be switched to send the other.  So to send the following
  5443.      message
  5444.      
  5445.           John's password is QMODEM
  5446.      
  5447.      you would use
  5448.      
  5449.           SEND "John's password is QMODEM"
  5450.      
  5451.      
  5452.      Labels are used as the targets for GOTO and GOSUB commands.  All labels
  5453.      must end with a colon.  Below are some examples:
  5454.      
  5455.           EXIT_LABEL:
  5456.           A:
  5457.           A_LONG_LABEL:
  5458.           A_much_longer_label_than_the_others:
  5459.      
  5460.      All labels must appear on a line by themselves.  Comments are allowed, but
  5461.      no other script commands.
  5462.      
  5463.      Comments can appear after all script commands except as noted.  There is
  5464.      no special character that denotes a comment, but you should use one to
  5465.      make the script more readable.  Here are some samples:
  5466.      
  5467.           . A dot as the first character is always a comment
  5468.           
  5469.           WAITFOR "Enter your password :"          .This is a comment
  5470.           SEND    "$Password{"                     .another comment line
  5471.           PASSWORD1:                               .a comment after a label
  5472.      
  5473.  
  5474.  
  5475.  
  5476.  
  5477.                  Copyright (C) by The Forbin Project, Inc.        75
  5478.  
  5479.  
  5480. Qmodem 3.0                                                      Script Language
  5481.  
  5482.  
  5483.  
  5484.  
  5485.      Comments cannot follow the NOTE, STAMP, TURNON and TURNOFF commands.  By
  5486.      their nature, these are self documenting and have a variable number of
  5487.      parameters.
  5488.      
  5489.      There are 10 pre-defined String variables, $0...$9 which may be set and
  5490.      used instead of quoted strings.  There is a maximum length of 80 character
  5491.      for all string variables.  These can be set with the ASSIGN, GET and GETR
  5492.      commands:
  5493.      
  5494.           ASSIGN 0 "This is a test"
  5495.      
  5496.      would make $0 equal to
  5497.      
  5498.           This is a test
  5499.      
  5500.      Because the string variables are substituted before the line gets
  5501.      executed, the leading $ in the above example must be omitted.  It is
  5502.      assumed in an ASSIGN command that the first word is a string variable.
  5503.      Using this knowledge, the following is possible:
  5504.      
  5505.           ASSIGN 0 "Qmodem is the Best!"     .$0 becomes the quoted string
  5506.           ASSIGN 1 $0                        .$1 is set to $0
  5507.           SEND "$1"                          .the string $1 is sent
  5508.      
  5509.      would send the following string:
  5510.      
  5511.           Qmodem is the Best!
  5512.      
  5513.      Variables can actually become a different command with the use of the
  5514.      ASSIGN command.  Here is an example:
  5515.      
  5516.           ASSIGN 0 "WAITFOR "           .$0 = WAITFOR[space]
  5517.           $0 "Password "                
  5518.      
  5519.      would be interpreted the same as
  5520.      
  5521.           WAITFOR "Password "
  5522.      
  5523.      If you want to send a $ in a text string, use two of them together as
  5524.      follows:
  5525.      
  5526.           SEND "This is a dollar sign : $$"
  5527.      
  5528.      would send the following
  5529.      
  5530.      
  5531.           This is a dollar sign : $
  5532.      
  5533.      
  5534.      
  5535.      So you can see just how powerful the string variables can be!  Now lets
  5536.      take a look at each script command in alphabetical order with some
  5537.      examples.
  5538.      
  5539.  
  5540.  
  5541.  
  5542.  
  5543.                  Copyright (C) by The Forbin Project, Inc.        76
  5544.  
  5545.  
  5546. Qmodem 3.0                                                      Script Language
  5547.  
  5548.  
  5549.  
  5550.  
  5551.      First, lets go over the defined string variables besides $0...$9.  These
  5552.      cannot be the targets of an ASSIGN, GET or GETR command.
  5553.      
  5554.      $DATE is the current system date based on the internal clock of the PC.
  5555.      It returns a string 8 characters in length and in the format MM/DD/YY.
  5556.      
  5557.           SEND "$DATE"
  5558.      
  5559.      would send something like
  5560.      
  5561.           04/15/87
  5562.      
  5563.      
  5564.      $TIME is the current system time based on the internal clock.  It also
  5565.      returns a string 8 characters in length and is in the format of HH:MM:SS
  5566.      and uses the 24 hour clock (same as military clock).
  5567.      
  5568.           SEND "The time is $TIME"
  5569.      
  5570.      would send something like
  5571.      
  5572.           The time is 13:13:29
  5573.      
  5574.      
  5575.      The following defined strings contain the last connected boards
  5576.      information as noted.  There must have been a valid connection using the
  5577.      Dial/Redial screen either through the DIAL command or a linked script.
  5578.      
  5579.      $BOARD contains the name listing specified in the dialing directory.  This
  5580.      is a variable length string but will not exceed 34 characters.
  5581.      
  5582.           DIAL "1"                           .dial the first phone book entry
  5583.           NOTE We are connected to $BOARD!   .display a connect msg
  5584.      
  5585.      might display the following on your screen:
  5586.      
  5587.           We are connected to The Forbin Project PCBoard!
  5588.      
  5589.      
  5590.      $NUMBER contains the phone number as listed in the dialing directory for
  5591.      the number that was connected to.
  5592.      
  5593.           NOTE Connected to $BOARD at $NUMBER.
  5594.      
  5595.      might display
  5596.      
  5597.           Connected to The Forbin Project PCBoard at 1-612-824-8167.
  5598.      
  5599.      
  5600.      $PASSWORD contains the password as stored in the dialing directory.  You
  5601.      could use this variable in a generic linked script for BBS' of the same
  5602.      kind.  Lets call the following script PCBOARD.SCR.
  5603.      
  5604.           NOTE Connected to $BOARD           .display after connection
  5605.  
  5606.  
  5607.  
  5608.  
  5609.                  Copyright (C) by The Forbin Project, Inc.        77
  5610.  
  5611.  
  5612. Qmodem 3.0                                                      Script Language
  5613.  
  5614.  
  5615.  
  5616.  
  5617.           WAITFOR "Graphics"                 .wait for first prompt
  5618.           SEND    "N{"                       .send a "N[ENTER]"
  5619.           WAITFOR "First name"               .wait for the name prompt
  5620.           SEND    "FIRST;LAST{"              .send your name
  5621.           WAITFOR "Password"                 .wait for password prompt
  5622.           SEND    "$PASSWORD{"               .send the linked password
  5623.      
  5624.      
  5625.      $SCRIPT contains the name of the linked script for the dialing entry.
  5626.      Using the above example, we could add another line as follows:
  5627.      
  5628.           NOTE This is script $SCRIPT
  5629.      
  5630.      and this would display the following:
  5631.      
  5632.           This is script PCBOARD.SCR
  5633.      
  5634.      
  5635.      $PROTOCOL holds the default protocol you assigned for the entry.  It could
  5636.      be used when you go to execute a download or upload file script to the
  5637.      board.  Here is an example download command:
  5638.      
  5639.           SEND     "D FILENAME.ARC $PROTOCOL{"
  5640.           WAITFOR  "[ctrl-X] to abort"
  5641.           DOWNLOAD FILENAME.ARC $PROTOCOL
  5642.      
  5643.      
  5644.      $SPEED contains the current baud rate after the connection.  This is set
  5645.      by the redialer before each number is tried.
  5646.      
  5647.           NOTE Connected at $SPEED this time
  5648.      
  5649.      may show
  5650.      
  5651.           Connected at 2400 this time
  5652.      
  5653.      
  5654.      $COMM contains the rest of the communication parameters.  It is in the
  5655.      form of DATABITS-PARITY-STOPBITS.
  5656.      
  5657.           NOTE Connected with $SPEED-$COMM
  5658.      
  5659.      would produce something like
  5660.      
  5661.           Connected with 2400-8-N-1
  5662.      
  5663.      
  5664.      The STRING command lets you define your own string variables.  They can be
  5665.      used just like the $0...$9 variables, but you can give them intelligible
  5666.      names.  You are allowed to define up to 20 unique names and they cannot be
  5667.      any of the defined variables.  Here are some examples:
  5668.      
  5669.           STRING Transfer_Type Filename User_Prompt
  5670.           STRING UserID Access_Code
  5671.  
  5672.  
  5673.  
  5674.  
  5675.                  Copyright (C) by The Forbin Project, Inc.        78
  5676.  
  5677.  
  5678. Qmodem 3.0                                                      Script Language
  5679.  
  5680.  
  5681.  
  5682.  
  5683.           WRITE  "Enter your UserID ? "           .prompt for userid
  5684.           GET    UserID 12                        .get 12 chars in UserID
  5685.           WRITE  "Enter the Access code ? "       .prompt for access code
  5686.           GET    Access_Code 25                   .get 25 chars Access_Code
  5687.           NOTE   $UserID is using $Access_Code    .display it
  5688.           
  5689.      might look like the following
  5690.      
  5691.           Enter your UserID ? RX35988
  5692.           Enter the Access code ? QMODEM
  5693.           RX35988 is using QMODEM
  5694.      
  5695.      
  5696.      COMMANDS.
  5697.      Following is the complete list of commands in the script language.  Take
  5698.      the time to type in the examples and try them out.  The more you use them
  5699.      the easier it gets!
  5700.      
  5701.      
  5702.      
  5703.      ASSIGN variable "string"
  5704.      
  5705.      This command assigns the contents of "string" to the variable.  The
  5706.      variable is not prefixed with a "$" to keep it from being parsed before
  5707.      execution.
  5708.      
  5709.      Examples:
  5710.      
  5711.           ASSIGN 0 TEST                 .sets $0 to the string "TEST"
  5712.           ASSIGN 0 "Test string"        .sets $0 to the string "Test string"
  5713.           ASSIGN 0 $1                   .sets $0 to equal $1
  5714.      
  5715.      If the string contains embedded quote characters, use the opposite quotes
  5716.      to encase the string or variable.
  5717.      
  5718.      Examples:
  5719.      
  5720.           ASSIGN THIS "John's Wife is Kathy"
  5721.           ASSIGN THAT "$THIS"                .needs quotes because of spaces
  5722.                                              .and quote embedded in $THIS
  5723.      
  5724.      
  5725.      
  5726.      BEEP tone
  5727.      
  5728.      The BEEP command is used to generate a tone of frequency "tone".  The tone
  5729.      lasts for approximately 1/5 of a second.  It can be used alone or in
  5730.      groups to make an alarm sound.  The "tone" must be an Integer value.
  5731.      
  5732.      Examples:
  5733.      
  5734.           BEEP 1200                .a 1200 Hz tone
  5735.           BEEP 1400                .a 1400 Hz tone
  5736.           
  5737.  
  5738.  
  5739.  
  5740.  
  5741.                  Copyright (C) by The Forbin Project, Inc.        79
  5742.  
  5743.  
  5744. Qmodem 3.0                                                      Script Language
  5745.  
  5746.  
  5747.  
  5748.  
  5749.           STRING TONE              .define a new variable called TONE
  5750.           GET TONE 4               .prompt for the value of TONE
  5751.                                    .no check is made for invalid data
  5752.           BEEP $TONE               .beep at $tone Hz
  5753.      
  5754.      
  5755.      
  5756.      BOX  c1  r1  c2  c2
  5757.      
  5758.      This command is used to create windows within your script commands.  The
  5759.      four parameters are required and must be of type Integer.  The window is
  5760.      positioned with the upper left corner at column c1 and row r1.  The bottom
  5761.      right corner of the window is at column c2 and row r2.  No check is made
  5762.      to see if the numbers are valid, so make sure that the c2 is greater than
  5763.      c1 and r2 is greater than r1 and that all parameters are somewhere on the
  5764.      local screen.  The upper corner of the screen is considered to be Col 1,
  5765.      Row 1 and the lower right corner of the screen is Col 80, Row 24.  For
  5766.      those of you with EGA adapters, the lower right corner may vary with the
  5767.      Screen dimensions (See ALT-2 through ALT-6).
  5768.      
  5769.      Examples:
  5770.      
  5771.           BOX 1 1 80 24            .opens a window the full size of the screen
  5772.           BOX 20 4 60 8            .opens a window 40 cols wide by 4 lines high
  5773.      
  5774.      
  5775.      
  5776.      BREAK
  5777.      
  5778.      The BREAK command sends the modem Break signal for 1.5 seconds to the
  5779.      remote system.  This is the same as the CTRL-END command.
  5780.      
  5781.      Example:
  5782.      
  5783.           BREAK                    .send the Break signal
  5784.      
  5785.      
  5786.      
  5787.      CAPTURE  filename
  5788.      
  5789.      The CAPTURE command is the same as the CTRL-HOME command in terminal mode.
  5790.      You would use this to automate the capturing of text data to a disk file.
  5791.      The "filename" should be a qualified DOS filename.  If the file already
  5792.      exists, the new data will be appended onto the end of the original.  If
  5793.      the file does not exist, it will be created (provided that the
  5794.      subdirectory structure of the hard disk will permit it).
  5795.      
  5796.      Examples:
  5797.      
  5798.           CAPTURE C:\QMODEM\TEXT\CAPDATA.DAT      .in a specific subdir
  5799.           CAPTURE THISFILE.DAT                    .in the current subdir
  5800.      
  5801.      To close the CAPTURE file, use the TURNOFF CAPTURE command as follows:
  5802.      
  5803.  
  5804.  
  5805.  
  5806.  
  5807.                  Copyright (C) by The Forbin Project, Inc.        80
  5808.  
  5809.  
  5810. Qmodem 3.0                                                      Script Language
  5811.  
  5812.  
  5813.  
  5814.  
  5815.           CAPTURE MYDATA.TXT            .open the capture file
  5816.           ...                           .
  5817.           ... more script commands      .script commands in between
  5818.           ...                           .
  5819.           TURNOFF CAPTURE               .close the capture file
  5820.      
  5821.      
  5822.      
  5823.      CHDIR  directory
  5824.      
  5825.      This command is used to change the current directory specified by
  5826.      "directory".  This will also change the current logged drive if specified.
  5827.      The CHDIR command is the same as the ALT-O in terminal mode.
  5828.      
  5829.      Examples:
  5830.      
  5831.           CHDIR \                       .change to the root directory
  5832.           CHDIR C:\QMODEM               .change to C:\QMODEM
  5833.           
  5834.      or
  5835.      
  5836.           WRITE "Enter the new directory ? "      .a dir prompt
  5837.           GET NEWDIR 64                           .get in $NEWDIR
  5838.           CHDIR $NEWDIR                           .and do the change
  5839.      
  5840.      
  5841.      
  5842.      CLRSCR
  5843.      
  5844.      The CLRSCR command clears the current active window. If you have not used
  5845.      the WINDOW or BOX commands, then the active window is considered to be the
  5846.      whole screen.
  5847.      
  5848.      Examples:
  5849.      
  5850.           CLRSCR                        .clear the screen
  5851.           BOX 1 1 80 14                 .open a window in upper half of screen
  5852.           CLRSCR                        .clear the area in the window
  5853.           WINDOW 1 1 80 24              .define the window as "full screen"
  5854.           CLRSCR                        .clear the whole screen
  5855.      
  5856.      
  5857.      
  5858.      COLORBG  bg
  5859.       -and-
  5860.      COLORFG  fg
  5861.      
  5862.      These two commands set the Foreground (fg) and Background (bg) colors of
  5863.      incoming text and text displayed by other script commands.  The variables
  5864.      "bg" and "fg" are of type integer.  The "bg" must be in the range of 0-7
  5865.      and the "fg" can be in the range 0-31.  The color codes used by Qmodem are
  5866.      as follows:
  5867.      
  5868.           0  Black            8  Dark Gray       (8 - 15 are the high
  5869.  
  5870.  
  5871.  
  5872.  
  5873.                  Copyright (C) by The Forbin Project, Inc.        81
  5874.  
  5875.  
  5876. Qmodem 3.0                                                      Script Language
  5877.  
  5878.  
  5879.  
  5880.  
  5881.           1  Blue             9  Light Blue       intensity colors)
  5882.           2  Green            10 Light Green
  5883.           3  Cyan             11 Light Cyan      (16 - 31 are the same as
  5884.           4  Red              12 Light Red        those on the left with a
  5885.           5  Magenta          13 Light Magenta    BLINK attribute)
  5886.           6  Brown            14 Yellow 
  5887.           7  Light Gray       15 White
  5888.      
  5889.      Examples:
  5890.      
  5891.           COLORBG 0           .set the background to Black
  5892.           COLORFG 2           .set the foreground to Green
  5893.      
  5894.      Note: The colors remain active in Qmodem after the script has completed.
  5895.      
  5896.      
  5897.      
  5898.      DEBUG [ON/OFF]
  5899.      
  5900.      The DEBUG command is very useful in developing complicated scripts. It
  5901.      gives you the capability to watch your script execute on the screen so you
  5902.      can "see" what's going on.  Scripts are always started with DEBUG turned
  5903.      off.
  5904.      
  5905.      There are only two modes of Debug operation, ON and OFF.
  5906.      
  5907.      Examples:
  5908.      
  5909.           DEBUG ON                 .turn debugging on
  5910.           ASSIGN 0 This_String     .put text into string 0
  5911.           NOTE This is 0 - $0      .display it
  5912.           DEBUG OFF                .turn debugging off now
  5913.           NOTE This is 0 - $0      .display it
  5914.      
  5915.      will produce this on the display
  5916.      
  5917.           <<ASSIGN 0 This_String >>
  5918.           <<NOTE This is 0 - $0 >>
  5919.           This is 0 - THIS_STRING
  5920.           <<DEBUG OFF >>
  5921.           This is 0 - THIS_STRING
  5922.      
  5923.      
  5924.      
  5925.      DIAL "#[,#]...[,#]"
  5926.      
  5927.      The DIAL command is used to call an entry in your phone book directory.
  5928.      The parameters are the entry numbers of the directory.  You can also
  5929.      specify the dialing prefix characters [ + - ! @ # ] as dial modifiers.
  5930.      
  5931.      Examples:
  5932.      
  5933.           DIAL "1"            .dial entry number 1
  5934.           DIAL "1, 2, 3, 4"   .dial entries 1,2,3,4 until connected
  5935.  
  5936.  
  5937.  
  5938.  
  5939.                  Copyright (C) by The Forbin Project, Inc.        82
  5940.  
  5941.  
  5942. Qmodem 3.0                                                      Script Language
  5943.  
  5944.  
  5945.  
  5946.  
  5947.           DIAL "+1- +2"       .dial 1 and 2 with the prefix modifiers
  5948.      
  5949.      If another Script is linked to the dialing directory entry, the linked
  5950.      script will not execute.  You must put all commands you wish to execute in
  5951.      the script file that has the DIAL command.
  5952.      
  5953.      Because the DIAL command will keep trying until a connect, you may want to
  5954.      use the SEND command to dial a number just once.
  5955.      
  5956.      Example:
  5957.      
  5958.           SEND "ATDT 1 612 824-8167{"        .dial the number
  5959.           WAITFOR "CONNECT"                  .wait for the connect string
  5960.           ...                                .more script commands
  5961.      
  5962.      Lastly, if you use another program to sort the phone book, such as
  5963.      Qfonedit, make sure you change your scripts so the DIAL commands match the
  5964.      correct entries.  If you don't, BBS's are likely to hang up on you!
  5965.      
  5966.      
  5967.      
  5968.      DISPLAY "string"
  5969.      
  5970.      This command will display the text defined by "string" without a CR/LF and
  5971.      without sending the text out the communications port.  It can be used to
  5972.      create online menus.
  5973.      
  5974.      Examples:
  5975.      
  5976.           GETSCR                        .save the screen
  5977.           BOX 1 1 20 9                  .draw a box
  5978.           COLORFG 11                    .set foreground color to Light Cyan
  5979.           GOTOXY 6 2                    .go to col 6, row 2
  5980.           DISPLAY "TEST MENU"           .show heading
  5981.           COLORFG 10                    .set Light Green color
  5982.           GOTOXY 3 4                    .
  5983.           DISPLAY "A) Option one"       .
  5984.           GOTOXY 3 5                    .
  5985.           DISPLAY "B) Option two"       .
  5986.           GOTOXY 3 6                    .
  5987.           DISPLAY "C) Option three"     .
  5988.           GOTOXY 3 7                    .
  5989.           DISPLAY "D) Option four"      .
  5990.           GOTOXY 3 7                    .
  5991.           DISPLAY "Option # ? "         .
  5992.           COLORFG 10                    .set color to Light Green
  5993.           GET Letter 1                  .read the $Letter
  5994.           PUTSCR                        .restore the original screen
  5995.      
  5996.      
  5997.      
  5998.      DOS "command"
  5999.      
  6000.  
  6001.  
  6002.  
  6003.  
  6004.  
  6005.                  Copyright (C) by The Forbin Project, Inc.        83
  6006.  
  6007.  
  6008. Qmodem 3.0                                                      Script Language
  6009.  
  6010.  
  6011.  
  6012.  
  6013.      The DOS command lets you execute any DOS level command.  This is dependent
  6014.      on two things; that you have enough memory left to load a copy of
  6015.      COMMAND.COM and COMMAND.COM can be located in the Boot directory or
  6016.      pointed to by the COMSPEC= environment variable.  If either of these
  6017.      conditions are not met, the DOS command will fail.
  6018.      
  6019.      The string can be any valid program or DOS command.  Because another copy
  6020.      of COMMAND.COM is loaded, its like Qmodem is not present.  The only kind
  6021.      of program that cannot be run is one that remains resident after it
  6022.      executes.  An example of this would be SideKick(tm) or the DOS PRINT
  6023.      program.
  6024.      
  6025.      Examples:
  6026.      
  6027.           DOS "Copy text.doc prn"       .copy a doc file to the printer
  6028.           DOS "123"                     .run Lotus 123
  6029.           DOS "type text.doc|more"      .even pipes and redirection work!
  6030.      
  6031.           DOS "COMMAND"                 .will invoke the command prompt    
  6032.                                         .until EXIT is entered, just like
  6033.                                         .ALT-R
  6034.      
  6035.      
  6036.      
  6037.      DOWNLOAD  filename  protocol
  6038.      
  6039.      This command is used to transfer files from the remote computer to yours.
  6040.      The filename must be fully qualified or it will be saved in the current
  6041.      directory.  The protocol is any one of the defined internal types or any
  6042.      of the external protocols you have added.
  6043.      
  6044.      Internal Protocols:      A - ASCII
  6045.                               X - Xmodem
  6046.                               C - Xmodem CRC
  6047.                               R - Relaxed Xmodem
  6048.                               I - Imodem
  6049.                               Y - Ymodem (1k Xmodem)
  6050.                               G - Ymodem-G
  6051.      
  6052.      Examples:
  6053.      
  6054.           DOWNLOAD C:\QMODEM\QMODEM30.ARC Y  .download with Ymodem
  6055.           DOWNLOAD THISFILE.TXT X            .saves to current directory
  6056.                                              .using Xmodem
  6057.      
  6058.           CHDIR C:\QMODEM                    .change dir to c:\qmodem
  6059.           DOWNLOAD QMODEM30.ARC Y            .put in curr directory and
  6060.                                              .use Ymodem protocol
  6061.      
  6062.      Note: When using the ASCII protocol, Qmodem MUST receive a ^Z (EOF)
  6063.      character or the download will never finish.  Be careful of this one!
  6064.      
  6065.      
  6066.      
  6067.  
  6068.  
  6069.  
  6070.  
  6071.                  Copyright (C) by The Forbin Project, Inc.        84
  6072.  
  6073.  
  6074. Qmodem 3.0                                                      Script Language
  6075.  
  6076.  
  6077.  
  6078.  
  6079.      DRIVE  letter
  6080.      
  6081.      The DRIVE command is used to change logged drives, but not switch
  6082.      directories as in the CHDIR command.  The letter is any valid drive letter
  6083.      in your system (A-Z).  If you use the SUBST command, the new drive letter
  6084.      is also available to this command.
  6085.      
  6086.      Examples:
  6087.      
  6088.           DRIVE A        .switch to the A: floppy drive
  6089.           DRIVE C        .switch to the C: drive
  6090.           DRIVE Z        .switch to the Z: drive (must have used SUBST)
  6091.      
  6092.      
  6093.      
  6094.      EXIST  filename  label
  6095.      
  6096.      This command is used to test to see if "filename" exists.  If the file
  6097.      does in fact exist, then jump to "label".
  6098.      
  6099.      Examples:
  6100.      
  6101.           EXIST C:\AUTOEXEC.BAT YES     .if there is an autoexec.bat in the
  6102.                                         .C:\ root directory, jump to label
  6103.                                         .YES:
  6104.           ...                           .do other script commands if it does
  6105.                                         .not exist
  6106.           YES:                          .the label
  6107.           
  6108.      or
  6109.      
  6110.           ASSIGN 0 C:\AUTOEXEC.BAT      .assign $0 the filename
  6111.           EXIST $0 YES                  .same as above
  6112.      
  6113.      
  6114.      
  6115.      EXIT
  6116.      
  6117.      This command halt the execution of all scripts.  Even if you are nested 12
  6118.      levels down, when the EXIT command is executed, the scripts halt.
  6119.      
  6120.      Examples:
  6121.      
  6122.           EXIT           .stop the scripts
  6123.           NOTE text      .does NOT execute because of the prior EXIT command
  6124.      
  6125.      
  6126.      
  6127.      FKEY  number
  6128.      
  6129.      The FKEY command is used to transmit the characters stored in the macro
  6130.      defined by the Fkey "number";  where number is one of the following:
  6131.      
  6132.                     1 - 10  Normal F1 - F10
  6133.  
  6134.  
  6135.  
  6136.  
  6137.                  Copyright (C) by The Forbin Project, Inc.        85
  6138.  
  6139.  
  6140. Qmodem 3.0                                                      Script Language
  6141.  
  6142.  
  6143.  
  6144.  
  6145.                    11 - 20  Shift  F1 - F10
  6146.                    21 - 30  Ctrl   F1 - F10
  6147.                    31 - 40  Alt    F1 - F10
  6148.      
  6149.      Examples:
  6150.      
  6151.           FKEY 23                  .send the string stored in Ctrl-F3.
  6152.           FKEY 1                   .send the string in F1.
  6153.      
  6154.      
  6155.      
  6156.      GET   variable  number
  6157.        -and-
  6158.      GETR  variable  number
  6159.      
  6160.      These two commands are almost identical.  The difference is that the GETR
  6161.      command echoes the data back over the communications port, and GET does
  6162.      not.
  6163.      
  6164.      The "variable" can be any valid string variable, either defined $0-$9 or
  6165.      one you have created with the STRING command.  The "number" is an integer
  6166.      that defines how many characters maximum should be accepted for the
  6167.      variable.
  6168.      
  6169.      Examples:
  6170.      
  6171.           DISPLAY "Enter a number between 1-99 ?" .local prompt
  6172.           GET  0  2                               .get 2 characters and put
  6173.                                                   .in $0
  6174.      
  6175.           WRITE "Enter a number between 1-99 ?"   .prompt over comm port
  6176.           GETR 0  2                               .same as above only gets
  6177.                                                   .data over comm port
  6178.      
  6179.      If online checking is enabled with the TURNON ONLINE command, then the
  6180.      GETR command is also checking to make sure there is a carrier signal from
  6181.      the modem (there is someone online).  If the carrier should drop for any
  6182.      reason while a GETR is executing, the variable will contain the string
  6183.      "_OFFLINE_" (regardless of the character limit).
  6184.      
  6185.      Examples:
  6186.      
  6187.           TURNON ONLINE                 .set online checking active
  6188.           WRITE "Enter a number ? "     .prompt for a number
  6189.           GETR num 5                    .read the number
  6190.               - - -                        - - -
  6191.                   - - -  Carrier drops - - -
  6192.               - - -                        - - -
  6193.           IF $num 100        Label_100  .if num = 100, goto Label_100
  6194.           IF $num _OFFLINE_  Cycle      .if caller hung up, goto Cycle
  6195.      
  6196.      
  6197.      
  6198.      GETSCR
  6199.  
  6200.  
  6201.  
  6202.  
  6203.                  Copyright (C) by The Forbin Project, Inc.        86
  6204.  
  6205.  
  6206. Qmodem 3.0                                                      Script Language
  6207.  
  6208.  
  6209.  
  6210.  
  6211.      
  6212.      This command is used to store a snapshot of the current screen for later
  6213.      display with the PUTSCR command.
  6214.      
  6215.      Examples:
  6216.      
  6217.           GETSCR              .save the current screen
  6218.           CLRSCR              .clear the screen
  6219.           ...                 .do more script commands
  6220.           PUTSCR              .restore the previously saved screen
  6221.      
  6222.      
  6223.      
  6224.      GOSUB  label
  6225.      
  6226.      This command is used to call a subroutine in the script.  Gosubs can be
  6227.      nested to a maximum of 20 levels.  This sounds like a lot, but the nest is
  6228.      shared with the SCRIPT command.  Together, these two may not exceed 20
  6229.      levels in any combination.
  6230.      
  6231.      When the subroutine is finished, it should end with the RETURN command.
  6232.      
  6233.      Examples:
  6234.      
  6235.           ...                 .script commands
  6236.           GOSUB SUB1:         .call the SUB1 subroutine
  6237.           EXIT                .end the script
  6238.      
  6239.           SUB1:               .the subroutine SUB1
  6240.           ...                 .script commands
  6241.           RETURN              .end of subroutine
  6242.                               .will branch back to the EXIT statement
  6243.      
  6244.      
  6245.      GOTO  label
  6246.      
  6247.      This is much the same as the GOSUB command, but there is no nesting of
  6248.      levels and there is no return the following statement.
  6249.      
  6250.      Examples:
  6251.      
  6252.           ...                 .script commands
  6253.           GOTO SUB1:          .jump to SUB1
  6254.           EXIT                .end the script
  6255.      
  6256.           SUB1:               .the subroutine SUB1
  6257.           ...                 .script commands
  6258.           RETURN              .end of subroutine
  6259.                               .will NOT branch back to the EXIT statement
  6260.                               .because this is not nested as a GOSUB is
  6261.      
  6262.      
  6263.      
  6264.      GOTOXY  col row
  6265.  
  6266.  
  6267.  
  6268.  
  6269.                  Copyright (C) by The Forbin Project, Inc.        87
  6270.  
  6271.  
  6272. Qmodem 3.0                                                      Script Language
  6273.  
  6274.  
  6275.  
  6276.  
  6277.      
  6278.      This command is used to reposition the cursor on the screen.  Col and row
  6279.      are integers and must contain valid coordinates or the cursor will not
  6280.      move.  Also, the BOX and WINDOW commands affect the area considered the
  6281.      valid screen.
  6282.      
  6283.      Examples:
  6284.      
  6285.           GOTOXY 1 1          .homes the cursor
  6286.           GOTOXY 80 24        .puts cursor in lower right corner
  6287.      
  6288.           WINDOW 1 1 80 14    .set a new window dimension
  6289.           GOTOXY 40 20        . FAILS, not inside the window
  6290.      
  6291.      
  6292.      
  6293.      GRAPHICS  emulation
  6294.      
  6295.      The GRAPHICS command is used to invoke the different terminal emulations
  6296.      just as the ALT-G command does.  Currently, Qmodem supports 4 different
  6297.      modes of emulation:
  6298.      
  6299.           TTY    - No Emulation mode
  6300.           ANSI   - Internal ANSI drive (like ANSI.SYS)
  6301.           VT100  - DEC's VT100 terminal (no VT52 support)
  6302.           TVI925 - TeleVideo 925 (no protected field support)
  6303.      
  6304.      Examples:
  6305.      
  6306.           GRAPHICS TTY        .switch to TTY mode
  6307.           GRAPHICS VT100      .switch to VT100 mode.
  6308.      
  6309.      
  6310.      
  6311.      HANGUP
  6312.      
  6313.      This command is the same as the ALT-H from terminal mode.  It sends the
  6314.      command to hang up the modem.
  6315.      
  6316.      Examples:
  6317.      
  6318.           WAITFOR "COMMAND"        .wait for the command prompt
  6319.           SEND    "G{"             .send the [G]oodbye command
  6320.           HANGUP                   .disconnect
  6321.      
  6322.      
  6323.      
  6324.      IF  "string"  "string2"  label
  6325.      
  6326.      This is a simple comparison command.  It compares the first string to the
  6327.      second string, and if they are the same, it does a GOTO "label".
  6328.      
  6329.      Examples:
  6330.      
  6331.  
  6332.  
  6333.  
  6334.  
  6335.                  Copyright (C) by The Forbin Project, Inc.        88
  6336.  
  6337.  
  6338. Qmodem 3.0                                                      Script Language
  6339.  
  6340.  
  6341.  
  6342.  
  6343.           IF $0 YES Yes_Label      .if $0 = YES     goto Yes_Label
  6344.      
  6345.           IF "$0" ""  Nul_Label    .if $0 is empty  goto Nul_Label
  6346.      
  6347.           
  6348.      
  6349.      LABEL
  6350.      
  6351.      This is more of a marker than a script command.  It is used as a target
  6352.      for the GOTO, GOSUB, IF and EXIST commands.  A label can be any length and
  6353.      must end with a semicolon ":"
  6354.      
  6355.      Examples:
  6356.      
  6357.           Short:         .a short label
  6358.           LLLOOONNNGGG:  .a long label
  6359.      
  6360.           GOTO Short     .is valid
  6361.           GOTO Short:    .is also valid
  6362.      
  6363.      
  6364.      
  6365.      LOADFON  filename
  6366.      
  6367.      This command loads a new dialing directory from disk.  It can be any valid
  6368.      DOS filename and been created by Qmodem.  This gives the DIAL command an
  6369.      almost unlimited resource of phone numbers to draw on!
  6370.      
  6371.      Examples:
  6372.      
  6373.           LOADFON  C:\QMODEM\QMODEM.FO1      .load a new FON file
  6374.           LOADFON  C:\QMODEM\QMODEM.FON      .reload the original
  6375.           
  6376.      
  6377.      
  6378.      LOADKEY  filename
  6379.      
  6380.      This works the same way the LOADFON does, but is for the F-Key macros.
  6381.      Once a new KEY file is loaded, the FKEY script command can send up to 40
  6382.      different string macros!  Again, you can have as many key files as you
  6383.      have disk space.
  6384.      
  6385.      Examples:
  6386.      
  6387.           FKEY 1              .send out current F1 macro
  6388.           LOADKEY NEW.KEY     .loads a new KEY file
  6389.           FKEY 1              .sends out a different F1 macro!
  6390.      
  6391.           LOADKEY C:\QMODEM\1.KEY  .load still a third KEY file
  6392.      
  6393.      
  6394.      
  6395.      LOG  filename
  6396.      
  6397.  
  6398.  
  6399.  
  6400.  
  6401.                  Copyright (C) by The Forbin Project, Inc.        89
  6402.  
  6403.  
  6404. Qmodem 3.0                                                      Script Language
  6405.  
  6406.  
  6407.  
  6408.  
  6409.      The LOG command is used to save information about the operation of Qmodem.
  6410.      This is different from the Capture file in that the Capture file saves the
  6411.      data that is displayed from the other computer and the Log file saves
  6412.      information like when you called and how long you were online.
  6413.      
  6414.      The filename can be any valid DOS filename.  If it already exists, data
  6415.      will be appended to it.  If it does not exist, Qmodem will try to create
  6416.      it (provided the subdirectory structure is correct for the file).
  6417.      
  6418.      To turn off the Logging feature, use the TURNOFF LOG command.
  6419.      
  6420.      Examples:
  6421.      
  6422.           LOG  PHONELOG.DAT        .start logging to file Phonelog.Dat
  6423.           ...                      .more scripts commands, some of which
  6424.                                    .will be logged
  6425.           TURNOFF LOG              .close the log file
  6426.      
  6427.      
  6428.      
  6429.      NOTE  text
  6430.      
  6431.      The NOTE commands is almost the same as the DISPLAY command, but has some
  6432.      extra added "features".  One of which, if the CAPTURE file is open, the
  6433.      NOTE text gets entered into the capture file.  The NOTE command is also
  6434.      one command that comments on the line are also logged and/or displayed.
  6435.      
  6436.      Examples:
  6437.      
  6438.           NOTE This is a test of the note command    .comment1
  6439.      
  6440.      would display as
  6441.      
  6442.           This is a test of the note command    .comment1
  6443.      
  6444.      on your screen.
  6445.      
  6446.      
  6447.      
  6448.      PUTSCR
  6449.      
  6450.      This command works in conjunction with the GETSCR command.  It restores
  6451.      the screen from when the GETSCR took the snapshot.  Results are
  6452.      unpredictable if a previous GETSCR has not been executed some time prior
  6453.      to the PUTSCR command.
  6454.      
  6455.      Examples:
  6456.      
  6457.           GETSCR              .save the current screen
  6458.           CLRSCR              .clear the screen
  6459.           ...                 .do more script commands
  6460.           PUTSCR              .restore the previously saved screen
  6461.      
  6462.      
  6463.  
  6464.  
  6465.  
  6466.  
  6467.                  Copyright (C) by The Forbin Project, Inc.        90
  6468.  
  6469.  
  6470. Qmodem 3.0                                                      Script Language
  6471.  
  6472.  
  6473.  
  6474.  
  6475.      
  6476.      
  6477.      RETURN
  6478.      
  6479.      This command is used to "return" from a previous GOSUB or SCRIPT command.
  6480.      Execution continues with the statement following the GOSUB or SCRIPT
  6481.      command.  If there was no previous GOSUB or SCRIPT, then the RETURN
  6482.      command is treated the same as an EXIT command.
  6483.      
  6484.      To cancel a script while you are nested several levels, use the EXIT
  6485.      command.
  6486.      
  6487.      See the GOSUB command for an example.
  6488.      
  6489.      
  6490.      
  6491.      
  6492.      SCRIPT  filename
  6493.      
  6494.      The SCRIPT command is used to call another script.  If the script being
  6495.      called includes a RETURN command, then execution will continue with the
  6496.      statement following the SCRIPT command.  The "filename" should be the name
  6497.      of a script file stored in the directory specified in Qinstall.
  6498.      
  6499.      Examples:
  6500.      
  6501.           .....Script ONE.SCR.....           .a comment line
  6502.           NOTE Executing Script ONE.SCR      .display a note
  6503.           SCRIPT TWO.SCR                     .call another script
  6504.           NOTE Back in ONE.SCR               .display a note
  6505.           SCRIPT THREE.SCR                   .call another script
  6506.           NOTE Back in ONE.SCR               .display a note
  6507.           EXIT                               .halt execution
  6508.      
  6509.           .....Script TWO.SCR.....           .comment line
  6510.           NOTE Executing Script TWO.SCR      
  6511.           SCRIPT THREE.SCR                   .call another script
  6512.           NOTE Back in TWO.SCR
  6513.           RETURN                             .return to previous script
  6514.      
  6515.           .....Script THREE.SCR.....         .comment line
  6516.           NOTE Executing Script THREE.SCR         
  6517.           RETURN                             .return to previous script
  6518.      
  6519.      The output of these three scripts (provided the script ONE.SCR was
  6520.      executed first) would be:
  6521.      
  6522.           Executing Script ONE.SCR
  6523.           Executing Script TWO.SCR
  6524.           Executing Script THREE.SCR
  6525.           Back in TWO.SCR
  6526.           Back in ONE.SCR
  6527.           Executing Script THREE.SCR
  6528.           Back in ONE.SCR
  6529.  
  6530.  
  6531.  
  6532.  
  6533.                  Copyright (C) by The Forbin Project, Inc.        91
  6534.  
  6535.  
  6536. Qmodem 3.0                                                      Script Language
  6537.  
  6538.  
  6539.  
  6540.  
  6541.      
  6542.      
  6543.      
  6544.      SEND "string"
  6545.      
  6546.      This command is used to send data out the communications port.  There are
  6547.      two special characters when using the SEND command:
  6548.      
  6549.           "{" - The left curly brace is a substitute for the [ENTER] key.
  6550.      
  6551.           "~" - The tilde is a substitute for a 1/2 second pause.
  6552.      
  6553.      Examples:
  6554.      
  6555.           SEND "{"            .send a carriage return ([ENTER])
  6556.           SEND "~~ ~ ~ {"     .pause one second followed by three spaces
  6557.                               .at 1/2 second intervals followed by [ENTER]
  6558.           
  6559.           ASSIGN 0 "~~ ~ ~ {" .put the above string in $0
  6560.           SEND $0             .send it
  6561.      
  6562.           SEND "$Password{"   .sends the Password stored in the dialing
  6563.                               .directory only after a valid CONNECTion.
  6564.      
  6565.      
  6566.      
  6567.      SETCOMM  [A-G][H-J][K-L][M-N]
  6568.      
  6569.      This command is used the same as the ALT-P in terminal mode.  It changes
  6570.      the serial port parameters.
  6571.      
  6572.      At least one letter is required and they can appear in any order.  If two
  6573.      conflicting parameters are entered, say SETCOMM AB, then the last
  6574.      parameter takes presidence.
  6575.      
  6576.      Parameters are as follows:    A - 300   baud
  6577.                                    B - 1200  baud
  6578.                                    C - 2400  baud
  6579.                                    D - 4800  baud
  6580.                                    E - 9600  baud
  6581.                                    F - 19200 baud
  6582.                                    G - 38400 baud
  6583.                                    H - Even parity
  6584.                                    I - Odd  parity
  6585.                                    J - None parity
  6586.                                    K - 7 data bits
  6587.                                    L - 8 data bits
  6588.                                    M - 1 stop bit
  6589.                                    N - 2 stop bits
  6590.      
  6591.      Examples:
  6592.      
  6593.           SETCOMM CJLM        .sets 2400-8-N-1
  6594.           SETCOMM E           .changes only the baud rate to 9600
  6595.  
  6596.  
  6597.  
  6598.  
  6599.                  Copyright (C) by The Forbin Project, Inc.        92
  6600.  
  6601.  
  6602. Qmodem 3.0                                                      Script Language
  6603.  
  6604.  
  6605.  
  6606.  
  6607.      
  6608.      
  6609.      
  6610.      STAMP  text
  6611.      
  6612.      The STAMP command works much like the NOTE command, except the "text" is
  6613.      put in the LOG file (if open) and not displayed on the screen.  Any text
  6614.      following the STAMP keyword is "logged".
  6615.      
  6616.      Examples:
  6617.      
  6618.           NAME_LABEL:
  6619.           WRITELN "                       [---------30-chars-max---------]"
  6620.           WRITE   "Enter your whole name ? "
  6621.           GETR NAME 30
  6622.           IF "$NAME" "" NAME_LABEL           .check for a null entry
  6623.           IF "$NAME" "_OFFLINE" CYCLE        .check for offline condition
  6624.           STAMP ************************************
  6625.           STAMP User [$NAME] Logged On
  6626.      
  6627.      could add the following two lines to the LOG file
  6628.      
  6629.           10:37:33  04/10/87  STAMP **************************************
  6630.           10:37:33  04/10/87  STAMP User [Sysop] Logged On
  6631.      
  6632.      
  6633.      
  6634.      STRING  variable [...variable]
  6635.      
  6636.      Up to 20 new string variables can be defined by you.  They can then be
  6637.      referenced by prefixing the new word with a "$" (except in the ASSIGN, GET
  6638.      and GETR commands).
  6639.      
  6640.      Examples:
  6641.           
  6642.           STRING THIS THAT OTHER        .create three new variables
  6643.           ASSIGN THIS "NEW TEST"        .puts "NEW TEST" in $THIS
  6644.           NOTE [$THIS] [$THAT] [$OTHER] .display their values
  6645.      
  6646.      would display:
  6647.      
  6648.           ["NEW TEST"] [] []
  6649.      
  6650.      
  6651.      
  6652.      SYSTEM  X/Y
  6653.      
  6654.      The SYSTEM command is used to stop script execution, bu in addition, it
  6655.      will also exit Qmodem.  This is the same as the Alt-X command from
  6656.      terminal mode.
  6657.      
  6658.      Examples:
  6659.      
  6660.           SYSTEM X            .exit Qmodem with DTR left High
  6661.  
  6662.  
  6663.  
  6664.  
  6665.                  Copyright (C) by The Forbin Project, Inc.        93
  6666.  
  6667.  
  6668. Qmodem 3.0                                                      Script Language
  6669.  
  6670.  
  6671.  
  6672.  
  6673.           SYSTEM Y            .exit Qmodem with DTR dropped
  6674.      
  6675.      
  6676.      
  6677.      TIMEOUT  time  [label]
  6678.       -and-
  6679.      WAITFOR  "string"
  6680.      
  6681.      These two commands work together.  The TIMEOUT command controls how long
  6682.      the WAITFOR command will wait for "string" to appear in the incoming
  6683.      stream of data.  TIMEOUT has an optional label that will be branched to if
  6684.      the WAITFOR times out.  If the label is not specified, then the script
  6685.      will abort with an error condition.
  6686.      
  6687.      Examples:
  6688.      
  6689.           TIMEOUT 3 AGAIN          .set timer to 3 seconds, error label AGAIN
  6690.           AGAIN:                   .here's the label
  6691.           SEND "ATZ{"              .send modem reset command
  6692.           WAITFOR "OK"             .if OK is not seen in 3 seconds, goto the
  6693.                                    .label AGAIN (and try again!)
  6694.      
  6695.      
  6696.      Each WAITFOR command can have its own TIMEOUT command for explicit control
  6697.      of timing and error conditions.  If you choose this route, then make sure
  6698.      ALL WAITFOR commands have a TIMEOUT to keep weird errors (like a label
  6699.      being branched to and you can't figure out how in the world you got there)
  6700.      to a minimum.
  6701.      
  6702.      
  6703.      
  6704.      TURNOFF  keyword  [keyword(s)]
  6705.       -and-
  6706.      TURNON  keyword  [keyword(s)]
  6707.      
  6708.      These two commands work like switches when running scripts.  The keywords
  6709.      are parameters (features in terminal mode) that effect the operation of
  6710.      the script (and terminal mode after the script finishes).
  6711.      
  6712.      Here is the list of Keywords, the equivalent command from terminal mode,
  6713.      which of the two it works with and a brief description of the keyword.
  6714.  
  6715.  
  6716.  
  6717.  
  6718.  
  6719.  
  6720.  
  6721.  
  6722.  
  6723.  
  6724.  
  6725.  
  6726.  
  6727.  
  6728.  
  6729.  
  6730.  
  6731.                  Copyright (C) by The Forbin Project, Inc.        94
  6732.  
  6733.  
  6734. Qmodem 3.0                                                      Script Language
  6735.  
  6736.  
  6737.  
  6738.  
  6739.      Keyword   Command   OFF  ON   Action
  6740.      -------   -------   ---  --   --------------------------------------------
  6741.      8_BIT     Alt-8      x   x    Sets the 8 bit mode
  6742.      BS_DEL    Alt-1      x   x    Sets the mode of the BS key, On sets BS=DEL
  6743.                                                                Off sets BS=BS
  6744.      CAPTURE   Ctrl-Home  x        Off only.  Closes the Capture file if open
  6745.      ECHO      Alt-E      x   x    Sets the local echo mode
  6746.      LINEFEED  Shift-Tab  x   x    Controls the adding of LF's to incoming CR's
  6747.      LOG       Alt-0      x        Off only.  Closes the LOG file if open
  6748.      MUSIC     Alt-M      x   x    Sets the ANSI Music mode
  6749.      NOISE     Alt-B      x   x    Sets the Beeps & Bells of Qmodem (on or off)
  6750.      ONLINE               x   x    Sets the state of the true carrier detection
  6751.                                    for the GETR command.
  6752.      PRINT     Ctrl-Prtsc x   x    Sets the local print echo mode
  6753.      XON/XOFF  Alt-Z      x   x    Sets the XON/XOFF flow control mode
  6754.      
  6755.      
  6756.      Examples:
  6757.      
  6758.           TURNON  8_BIT  NOISE  XON/XOFF
  6759.           TURNOFF MUSIC  ECHO   LINEFEED
  6760.           ...
  6761.           CAPTURE C:\QMODEM\CAP.TXT          .turn on the capture file
  6762.           ...  
  6763.           TURNOFF CAPTURE                    .close the capture file
  6764.           TURNOFF LOG                        .nothing happens, log is not open
  6765.      
  6766.      
  6767.      
  6768.      UPLOAD  filename  protocol  [ASCII options]
  6769.      
  6770.      The UPLOAD command has two basic modes; ASCII transfers and non-ASCII
  6771.      transfers.  The filename must be either a fully qualified DOS filename or
  6772.      it must be located in the current directory.
  6773.      
  6774.      The protocols are as follows:
  6775.      
  6776.                               A - ASCII
  6777.                               X - Xmodem
  6778.                               C - Xmodem CRC
  6779.                               R - Relaxed Xmodem
  6780.                               I - Imodem
  6781.                               Y - Ymodem
  6782.                               G - Ymodem
  6783.      
  6784.      If you have defined any external protocols in Qinstall, then they too can
  6785.      be used.
  6786.      
  6787.      Examples of non-ASCII:
  6788.      
  6789.           UPLOAD QMODEM.ARC Y           .send the file QMODEM.ARC using Ymodem
  6790.                                         .and the file must be in the current
  6791.                                         .directory
  6792.           UPLOAD C:\AUTOEXEC.BAT X      .upload the autoexec.bat file from the
  6793.  
  6794.  
  6795.  
  6796.  
  6797.                  Copyright (C) by The Forbin Project, Inc.        95
  6798.  
  6799.  
  6800. Qmodem 3.0                                                      Script Language
  6801.  
  6802.  
  6803.  
  6804.  
  6805.                                         .C: root directory using Xmodem
  6806.      
  6807.      
  6808.      When using the ASCII method, three additional parameters are required; the
  6809.      type of ASCII transfer, the throttle speed and the prompt character.  All
  6810.      three parameters are required, but may or may not be important depending
  6811.      on the mode options.  Here is what the command would look like:
  6812.      
  6813.           UPLOAD  filename  A  3  0  >
  6814.                             ^  ^  ^  ^
  6815.                             |  |  |  Prompt character if any (required)
  6816.                             |  |  |
  6817.                             |  |  Throttle Speed (integer, required)
  6818.                             |  |
  6819.                             |  ASCII Type  1) prompted  2) delay  3) no delay
  6820.                             |
  6821.                             Xref method (A for ASCII)
  6822.      
  6823.      
  6824.      The ASCII "Type" controls how the file will get sent.  Prompted means that
  6825.      the host system will send a character telling Qmodem its ready for another
  6826.      line of the text file.  The Prompt character is used with type 1.  The
  6827.      second type (delay) means that the data goes out but is regulated, or
  6828.      paced so the host will not be overrun.  The Throttle Speed is used with
  6829.      the delay option.  The last type is No Delay.  This sends the file as fast
  6830.      as the modem can send it.  No other options are used, but are still
  6831.      required for the script language.
  6832.      
  6833.      The Throttle Speed is a timing loop, based on thousandths of a second.  So
  6834.      a throttle of 1000 is equal to 1 second delay between each character sent
  6835.      out.  A more realistic figure would be 30 or 40.
  6836.      
  6837.      The Prompt character can be any ASCII character except [SPACE] and
  6838.      [ENTER].  The upload code waits for this character and then send out one
  6839.      line of data.  it repeats this procedure until the entire file is
  6840.      transmitted.  This is useful when automating messages to BBS's because all
  6841.      BBS's use some sort of prompt character for each line in a message.
  6842.      
  6843.      Examples:
  6844.      
  6845.           SEND    "{"                   .send a carriage return
  6846.           WAITFOR "Command"             .look for the command line
  6847.           SEND    "E{"                  .command to enter a message
  6848.           WAITFOR "To [Enter]=all?"                    
  6849.           SEND    "Sysop{"              .to the Sysop
  6850.           WAITFOR "Subject:?"      
  6851.           SEND    "A Private msg{"      .the msg description
  6852.           WAITFOR "Security:"
  6853.           SEND    "R{"                  .Receiver only
  6854.      
  6855.           UPLOAD TEST.DOC A 1 0 :       .upload a text file to a PCBoard BBS
  6856.      
  6857.           SEND    "{~~S{"               .tell the board to save the msg
  6858.      
  6859.  
  6860.  
  6861.  
  6862.  
  6863.                  Copyright (C) by The Forbin Project, Inc.        96
  6864.  
  6865.  
  6866. Qmodem 3.0                                                      Script Language
  6867.  
  6868.  
  6869.  
  6870.  
  6871.      
  6872.      
  6873.      WAITUNTIL  time
  6874.      
  6875.      This command makes the script pause until the system clock is the same as
  6876.      the "time" parameter.  The time is specified in military 24 hour clock
  6877.      format (HH:MM:SS) with 00:00:00 being midnight and 11pm being 23:00:00.
  6878.      
  6879.      When executed, the target "time" and the current system clock are shown
  6880.      side by side until the match is made.  When a match occurs, the script
  6881.      then continues with the next command.
  6882.      
  6883.      Examples:
  6884.      
  6885.           TURNON (parameters)
  6886.           WAITUNTIL 04:00:00            .wait till 4 a.m.
  6887.           DIAL "1 2 3 4"                .dial the numbers
  6888.           ...
  6889.      
  6890.           WAITUNTIL 24:00:00            .will never get past this, because the
  6891.                                         .military clock does not have 24:00:00
  6892.      
  6893.      
  6894.      
  6895.      WHEN  "string"  "string"
  6896.       -or-
  6897.      WHEN  "string"  label
  6898.      
  6899.      The WHEN command is used in conjunction with the WAITFOR command.  The
  6900.      WHEN is only active while you are executing a WAITFOR.  WHENs are a method
  6901.      of branching in case what you are waiting for will never come in.  You can
  6902.      have a maximum of 10 WHENs active at any one time.  The WHEN command with
  6903.      no parameters clears the active WHENs with parameters.
  6904.      
  6905.      Examples:
  6906.      
  6907.           Timeout  60 Error                       .setup timeout
  6908.           TurnOff  Split  Linefeed  Music         .runtime parameters set
  6909.           
  6910.           WHEN                                    .clears all pending WHENs
  6911.           WHEN 'Mail' '~~N{'                      .if the string MAIL is seen,
  6912.                                                   .pause 1 second and send
  6913.                                                   .N followed by [ENTER]
  6914.           WHEN '[QVISA.ARC] duplicates' TryAgain  .If the first string is seen,
  6915.                                                   .jump to the label TRYAGAIN
  6916.           Dial     '+15'
  6917.           Waitfor  'Graphics'
  6918.           Send     'N;Q{'
  6919.           Waitfor  'Name'
  6920.           Send     'John;Friel;password{'
  6921.           Waitfor  'Board Command'
  6922.           Send     'U QVisa.Arc I{'
  6923.           Upload2:
  6924.           Waitfor  '------]'
  6925.  
  6926.  
  6927.  
  6928.  
  6929.                  Copyright (C) by The Forbin Project, Inc.        97
  6930.  
  6931.  
  6932. Qmodem 3.0                                                      Script Language
  6933.  
  6934.  
  6935.  
  6936.  
  6937.           Send     '/Qmodem VISA orders for $Date{'
  6938.           Waitfor  '[Ctrl-X] to Abort.'
  6939.           Upload   Z:\Visa\Qvisa.arc I
  6940.           Waitfor  'Board Command'
  6941.           
  6942.           Send     'g{'
  6943.           System   Y
  6944.           
  6945.           TryAgain:
  6946.           Send     '{'
  6947.           Waitfor  'Command'
  6948.           Send     'U QVisa2.Arc I{'
  6949.           Goto     Upload2
  6950.           
  6951.           Error:
  6952.           Stamp    Error uploading the VISA scripts.
  6953.           Stamp    This Script is going off hook!
  6954.           Hangup
  6955.           Send     '~~ATM0H1{'
  6956.           Exit
  6957.      
  6958.      (Note : This script gets executed every night automatically!)
  6959.      
  6960.      
  6961.      
  6962.      WINDOW  c1  r1  c2  r1
  6963.      
  6964.      This command is also used to create windows within your script commands.
  6965.      It differs from the BOX command in that WINDOW does not actually draw the
  6966.      box.  The window is Invisible.  The four parameters are required and must
  6967.      be of type Integer.  The window is positioned with the upper left corner
  6968.      at column c1 and row r1.  The bottom right corner of the window is at
  6969.      column c2 and row r2.  No check is made to see if the numbers are valid,
  6970.      so make sure that the c2 is greater than c1 and r2 is greater than r1 and
  6971.      that all parameters are somewhere on the local screen.  The upper corner
  6972.      of the screen is considered to be Col 1, Row 1 and the lower right corner
  6973.      of the screen is Col 80, Row 24.  For those of you with EGA adapters, the
  6974.      lower right corner may vary with the Screen dimensions (See ALT-2 through
  6975.      ALT-6).
  6976.      
  6977.      Examples:
  6978.      
  6979.           WINDOW 1 1 80 24         .window the full size of the screen
  6980.           WINDOW 20 4 60 8         .window 40 cols wide by 4 lines high
  6981.      
  6982.      
  6983.      
  6984.      
  6985.      WRITE    "string"
  6986.       -and-
  6987.      WRITELN  "string""
  6988.      
  6989.      The WRITE command sends the text in "string" out the communications port
  6990.      without a CR/LF.  This would be desirable if you have created prompts and
  6991.  
  6992.  
  6993.  
  6994.  
  6995.                  Copyright (C) by The Forbin Project, Inc.        98
  6996.  
  6997.  
  6998. Qmodem 3.0                                                      Script Language
  6999.  
  7000.  
  7001.  
  7002.  
  7003.      want the cursor to remain on the same line.  The WRITELN works the same,
  7004.      but a CR/LF is added to the string.
  7005.      
  7006.      Examples:
  7007.           WRITELN "                       [------------]"
  7008.           WRITE   "Enter your first name ? "
  7009.           GETR    F_NAME 12
  7010.           WRITELN " "
  7011.           WRITELN "                       [--------------------]"
  7012.           WRITE   "Enter your last name  ? "
  7013.           GETR    L_NAME 20
  7014.           WRITELN " "
  7015.           WRITELN "                       [------------]"
  7016.           WRITE   "Enter your password   ? "
  7017.           GETR    P_WORD 12
  7018.      
  7019.      would look like the following to the other caller
  7020.      
  7021.                                  [------------]        
  7022.           Enter your first name ? JOHN
  7023.      
  7024.                                  [--------------------]          
  7025.           Enter your last name  ? FRIEL III
  7026.      
  7027.                                  [------------]        
  7028.           Enter your password   ? PASSWORD
  7029.      
  7030.                                  (^- capital words were entered remotely)
  7031.      
  7032.      
  7033.      
  7034.      ERROR MESSAGES.
  7035.      
  7036.      If an error is ancountered while executing a script, an error message will
  7037.      be displayed showing you the error number, a discription of the error, the
  7038.      file name containing the error, the row and column of the error and the
  7039.      erroneous line itself.
  7040.      
  7041.      Example:
  7042.      
  7043.           * Script Edit Error
  7044.           WORD expected.
  7045.           File : Z:\SCRIPTS\test  Row # : 1  Col # : 6
  7046.           Line : Debug
  7047.           
  7048.                 -or-
  7049.           
  7050.           * Script Edit Error
  7051.           LABEL not found.
  7052.           TIMEOUT LABEL    = ERROR_LINE
  7053.           GOTO/GOSUB LABEL = HERE
  7054.           File: Z:\SCRIPTS\test
  7055.      
  7056.  
  7057.  
  7058.  
  7059.  
  7060.  
  7061.                  Copyright (C) by The Forbin Project, Inc.        99
  7062.  
  7063.  
  7064. Qmodem 3.0                                                      Script Language
  7065.  
  7066.  
  7067.  
  7068.  
  7069.      The second example is a little different because it is related to
  7070.      searching the script for a label.  It may do this for two reasons; 1)
  7071.      because of a TIMEOUT condition on a WAITFOR command or 2) because of a
  7072.      GOTO or GOSUB command.  In both cases, the target label was not found.  To
  7073.      tell which one caused the problem, look at the two labels listed.  If
  7074.      either one is blank, then the one with a label name caused the problem.
  7075.      If both labels are the same name, then it was caused by a TIMEOUT
  7076.      condition.  If they are different, then it was caused by a GOTO or GOSUB
  7077.      missing label.
  7078.      
  7079.      
  7080.      Here is a complete list of possible error messages you may receive.
  7081.      
  7082.              DOWNLOAD Filename expected.
  7083.              WORD or LABEL expected.
  7084.              STRING length 0.
  7085.              STRING expected.
  7086.              WORD expected.
  7087.              UPLOAD Filename expected.
  7088.              INTEGER expected.
  7089.              DRIVE Letter A..Z expected.
  7090.              SETCOMM Letter A..N expected.
  7091.              SCRIPT Filename not found.
  7092.              UPLOAD Filename does not Exist.
  7093.              RETURN SCRIPT Filename not found.
  7094.              LABEL not found.
  7095.              TURNON Keyword(s) not found.
  7096.              GRAPHICS Keyword not found.
  7097.              TURNOFF Keywords(s) not found.
  7098.              CAPTURE Filename not found.
  7099.              LOADFON Filename not found.
  7100.              LOADKEY Filename not found.
  7101.              LOG Filename not found.
  7102.              ON or OFF parameter expected.
  7103.              Too many WHEN's defined.
  7104.              SCRIPT/GOSUB nested too deep.
  7105.              SYSTEM parameter not "Y" or "X".
  7106.              STRING VARIABLE expected.
  7107.              No user defined STRINGS.
  7108.              STRING not defined.
  7109.              WORD or STRING expected.
  7110.              FON Filename does not exist.
  7111.              F-KEY Filename does not exist.
  7112.              Invalid Substitute VARIABLE.
  7113.              Substitute Line too long.
  7114.              Line too long.
  7115.              Invalid LABEL or misplaced Colon.
  7116.      
  7117.      
  7118.      
  7119.      A CALL FOR SCRIPTS.
  7120.      
  7121.      If you write a SCR or LOG file that could have widespread use, or one that
  7122.      makes unique use of some of the commands, please share your efforts with
  7123.  
  7124.  
  7125.  
  7126.  
  7127.                 Copyright (C) by The Forbin Project, Inc.        100
  7128.  
  7129.  
  7130. Qmodem 3.0                                                      Script Language
  7131.  
  7132.  
  7133.  
  7134.  
  7135.      others.  Be sure to replace your own password with FAKE-PASSWORD in any
  7136.      file you share:
  7137.      
  7138.           1.   Create an auto-logon script for your favorite free or commercial
  7139.                BBS system and upload it to that system for others to modify and
  7140.                use.
  7141.           
  7142.           2.   Upload general-purpose and especially creative scripts to the
  7143.                Forbin Project BBS.  Our own auto-logon script is included with
  7144.                the distribution copy of Qmodem.  Its name is FORBIN.SCR and
  7145.                it's ready for you to modify.
  7146.      
  7147.  
  7148.  
  7149.  
  7150.  
  7151.  
  7152.  
  7153.  
  7154.  
  7155.  
  7156.  
  7157.  
  7158.  
  7159.  
  7160.  
  7161.  
  7162.  
  7163.  
  7164.  
  7165.  
  7166.  
  7167.  
  7168.  
  7169.  
  7170.  
  7171.  
  7172.  
  7173.  
  7174.  
  7175.  
  7176.  
  7177.  
  7178.  
  7179.  
  7180.  
  7181.  
  7182.  
  7183.  
  7184.  
  7185.  
  7186.  
  7187.  
  7188.  
  7189.  
  7190.  
  7191.  
  7192.  
  7193.                 Copyright (C) by The Forbin Project, Inc.        101
  7194.  
  7195.  
  7196. Qmodem 3.0                                                           Appendix A
  7197.  
  7198.  
  7199.  
  7200.  
  7201.      
  7202.      APPENDIX A  SCRIPT COMMAND REFERENCE
  7203.      
  7204.      
  7205.       [*]    Indicates new commands since Qmodem Version 2.3
  7206.      
  7207.              []                         Brackets [ and ] are used to define the
  7208.                                         command and show spacing, and are not
  7209.                                         entered.  Brackets can be used in the
  7210.                                         text string.
  7211.      
  7212.              {                          Left Curly Brace
  7213.                                         Character used in place of a <RETURN>
  7214.                                         or <CR> carriage return.
  7215.      
  7216.              ~                          Tilde
  7217.                                         Character used for a 1/2 second pause.
  7218.                                         Normally used to generate longer delays
  7219.                                         by adding additional tilde's.
  7220.                                         Example: "~~~+++~~~ATH{"
  7221.      
  7222.              $0 to $9                   Defines Parameters used in the script.
  7223.                                         After a Parameter is used, it may be
  7224.                                         used as a different function if the
  7225.                                         original [STRING] is no longer
  7226.                                         required.
  7227.      
  7228.        *     $[Variable]                The following is a list of Pre-defined
  7229.                                         Variables that contain the specified
  7230.                                         data only when a valid online CONNECT
  7231.                                         is made.
  7232.      
  7233.        *     $BOARD                     Contains the name listing specified in
  7234.                                         the Dialing Directory.
  7235.        *     $NUMBER                    Contains the dialed telephone number.
  7236.        *     $PASSWORD                  Contains the password stored in the
  7237.                                         Dialing Directory.
  7238.        *     $SCRIPT                    Contains the name of the script
  7239.                                         attached to the dialed number.
  7240.        *     $PROTOCOL                  Contains the default protocol
  7241.                                         associated with the dialed number.
  7242.        *     $SPEED                     Contains the current Baud Rate used to
  7243.                                         dial.
  7244.        *     $COMM                      Contains the rest of the communication
  7245.                                         parameters in the form of [DATABITS-
  7246.                                         PARITY-STOPBITS].
  7247.                                         Example :   8-N-1
  7248.      
  7249.              The following are always available in a Script
  7250.      
  7251.        *     $DATE                      Contains the current system date.
  7252.        *     $TIME                      Contains the current system time.
  7253.                                         Example: SEND "$TIME"  transmits the
  7254.                                         system clock time to the remote.
  7255.  
  7256.  
  7257.  
  7258.  
  7259.                 Copyright (C) by The Forbin Project, Inc.        102
  7260.  
  7261.  
  7262. Qmodem 3.0                                                           Appendix A
  7263.  
  7264.  
  7265.  
  7266.  
  7267.      
  7268.      
  7269.      
  7270.        *     ASSIGN [VARIABLE] [STRING] This command assigns the word the value
  7271.                                         of the string.
  7272.      
  7273.              BEEP [INTEGER]             Make the speaker beep at a specified
  7274.                                         tone in Hertz(cycles/second).  Integer
  7275.                                         (100-2000) Example:  BEEP 600 (beep at
  7276.                                         600 Hz.)
  7277.      
  7278.        *     BOX [C1 R1 C2 R2]          Generates a box(border) outline with a
  7279.                                         blank window in it. The co-ordinates of
  7280.                                         the box are made up of C1,left upper
  7281.                                         column; R1,left upper row; C2 right
  7282.                                         lower column; R2 right lower row.
  7283.                                         Column is defined as (1-80)left to
  7284.                                         right on the screen.  Row is defined as
  7285.                                         (1-24) top to bottom on the screen.
  7286.      
  7287.        *     BREAK                      Sends the * <BREAK> signal, same as
  7288.                                         Ctrl-End to the modem and the remote
  7289.                                         system. A true break signal lasts 1.5
  7290.                                         seconds and causes the remote program
  7291.                                         to stop like a Ctrl-C command in DOS.
  7292.      
  7293.              CAPTURE Drive:\Path\FILENAME.EXT
  7294.                                         Turns on the Capture to Disk (Ctrl-
  7295.                                         Home) function.  Use TURNOFF CAPTURE to
  7296.                                         turn off the CAPTURE command.
  7297.      
  7298.              CHDIR [Dr:\Dir]            Change Drive\subdirectory as required
  7299.                                         (Alt-O).
  7300.                                         CHDIR \QMODEM   (change Dir)
  7301.                                         CHDIR D:\QMODEM (change Drive: and Dir)
  7302.      
  7303.         *    CLRSCR                     Clears the screen in both normal and
  7304.                                         split screen mode. Operates like Alt-C.
  7305.                                         When a BOX or WINDOW command is active
  7306.                                         clears only the insert area.
  7307.      
  7308.         *    COLORBG [INTEGER]          Changes the Background color of the
  7309.                                         screen to the integer number.  Uses the
  7310.                                         standard DOS color table. The range is
  7311.                                         0 to 7.
  7312.      
  7313.         *    COLORFG [INTEGER]          Changes the Foreground color of the
  7314.                                         screen to the integer number.  Uses the
  7315.                                         standard DOS color table.  The range is
  7316.                                         0 to 31.
  7317.      
  7318.         *    DEBUG [ON/OFF]             Displays each line of the Script as it
  7319.                                         is being executed.  Starting a Script
  7320.                                         automatically turns this function OFF.
  7321.  
  7322.  
  7323.  
  7324.  
  7325.                 Copyright (C) by The Forbin Project, Inc.        103
  7326.  
  7327.  
  7328. Qmodem 3.0                                                           Appendix A
  7329.  
  7330.  
  7331.  
  7332.  
  7333.      
  7334.              DIAL "1"                   Set comm parameters, dial a phone        
  7335.                                         number from the Dialing Directory.
  7336.              DIAL "1,5,3"               Set comm parameters, dial and/or         
  7337.                                         (re)dial several phone numbers from the
  7338.                                         Dialing Directory.
  7339.      
  7340.         *    DISPLAY [STRING]           Displays text(characters) on the screen
  7341.                                         without a CR/LF and without echoing to
  7342.                                         the comport.  Can be used to display
  7343.                                         online local menus to the screen in a
  7344.                                         Script.
  7345.      
  7346.              DOS "DOS Command"          Directly Execute any valid DOS Command.
  7347.      
  7348.              DOWNLOAD FILENAME TYPE     Where TYPE is one of the following:
  7349.                                             (A)  Ascii
  7350.                                             (X)  Xmodem
  7351.                                             (C)  Xmodem CRC
  7352.                                             (R)  Relaxed Xmodem
  7353.                                             (I)  Imodem
  7354.                                             (Y)  Ymodem
  7355.                                             (G)  Ymodem-G
  7356.      
  7357.              DRIVE [letter]             Change default Drive to another valid
  7358.                                         drive same as (Alt-L).
  7359.      
  7360.         *    EXIST FILENAME LABEL       Filename is a valid DOS filename.  If
  7361.                                         the file exists, goto LABEL.
  7362.      
  7363.         *    FKEY [number]              Sends the Characters stored in the
  7364.                                         selected [number] location, to the
  7365.                                         remote system. Excellent for sending
  7366.                                         Passwords and any predetermined
  7367.                                         character string to the remote system.
  7368.      
  7369.                                         FKEY [number] where number = 1..40
  7370.                                         as follows:
  7371.                                                1 to 10 = Normal F1 to F10
  7372.                                               11 to 20 = Shift F1 to F10
  7373.                                               21 to 30 = Ctrl F1 to F10
  7374.                                               31 to 40 = Alt F1 to F10
  7375.                                         Example: FKEY 23 Send the String stored
  7376.                                         in Ctrl F3 to the modem.
  7377.      
  7378.      
  7379.         *    GET [VARIABLE] [INTEGER]   Reads a string of characters from the
  7380.                                         comport [INTEGER] number of characters
  7381.                                         long [1 to 255] and places the CR.
  7382.                                         Characters can also be entered from the
  7383.                                         keyboard.  Same as GET command except
  7384.                                         there is no echo to the comport.
  7385.      
  7386.         *    GETR [VARIABLE] [INTEGER]  Reads a string of characters from the
  7387.  
  7388.  
  7389.  
  7390.  
  7391.                 Copyright (C) by The Forbin Project, Inc.        104
  7392.  
  7393.  
  7394. Qmodem 3.0                                                           Appendix A
  7395.  
  7396.  
  7397.  
  7398.  
  7399.                                         comport [INTEGER] long and places the
  7400.                                         string into [VARIABLE].  The string
  7401.                                         is terminated by a CR.  Can also be
  7402.                                         entered from the keyboard.
  7403.      
  7404.          *   GETSCR                     Saves the current screen contents into
  7405.                                         a temporary buffer. Use PUTSCR to
  7406.                                         restore the previous GETSCR command.
  7407.      
  7408.              GOSUB [LABEL]              Will branch to the LABEL specified.
  7409.                                         Use RETURN as the last command in LABEL
  7410.                                         to resume at the line following the
  7411.                                         GOSUB command.  The nesting level of
  7412.                                         the GOSUB and SCRIPT commands are
  7413.                                         combined twenty (20) levels deep.
  7414.      
  7415.              GOTO [LABEL]               Will jump to the LABEL specified and
  7416.                                         follow that path thereafter.
  7417.      
  7418.          *   GOTOXY [C R]               Moves the cursor to the co-ordinates
  7419.                                         defined.  C is the Column on the screen
  7420.                                         (1-80) left to right R is the Row on
  7421.                                         the screen (1-24) top to bottom. The
  7422.                                         cursor position is defined with respect
  7423.                                         to the BOX or WINDOW when active or to
  7424.                                         the entire screen when a BOX or WINDOW
  7425.                                         is deactivated.
  7426.      
  7427.         *    GRAPHICS [TYPE]            Sets the terminal emulation mode to be
  7428.                                         used.  TYPE is one of the following:
  7429.                                            TTY     No ANSI Driver Active.
  7430.                                            ANSI    Internal ANSI Driver.
  7431.                                            VT100   DEC VT100 Emulation
  7432.                                            TVI925  Televideo 925 Emulation.
  7433.      
  7434.              HANGUP                     Disconnect the phone (go off-line),
  7435.                                         hang up, (Alt-H).
  7436.      
  7437.              IF [STRING1] [STRING2] [LABEL]
  7438.                                         All parameters are required.  IF
  7439.                                         compares STRING1 to STRING2 and if
  7440.                                         equal, jump to LABEL.
  7441.      
  7442.              LABEL:                     Marks beginning of a label  and its
  7443.                                         list of commands.  Used with GOSUB,
  7444.                                         GOTO, WHEN, IF and TIMEOUT.  Example:
  7445.                                         MENU: The colon(:) defines the end of
  7446.                                         the LABEL name.
  7447.      
  7448.         *    LOADFON [QMODEM.FON]       Loads a another Dialing Directory (FON)
  7449.                                         File into Qmodem for immediate use.
  7450.                                         You can specify any valid
  7451.                                         Drive.\Dir\FILENAME.EXT as desired.
  7452.      
  7453.  
  7454.  
  7455.  
  7456.  
  7457.                 Copyright (C) by The Forbin Project, Inc.        105
  7458.  
  7459.  
  7460. Qmodem 3.0                                                           Appendix A
  7461.  
  7462.  
  7463.  
  7464.  
  7465.         *    LOADKEY [QMODEM.KEY]       Loads a another Function Key (KEY)
  7466.                                         File into Qmodem for immediate use.
  7467.                                         You can specify any valid
  7468.                                         Drive:\Dir\FILENAME.EXT as desired.
  7469.      
  7470.              NOTE text                  Displays the "text message" to the
  7471.                                         screen only, including a CR and LF, but
  7472.                                         no transmission to the modem or remote
  7473.                                         system.
  7474.      
  7475.         *    PUTSCR                     Restores the screen from a previous
  7476.                                         GETSCR statement.  The screen
  7477.                                         restoration will be unpredictable if a
  7478.                                         previous GETSCR is not used.
  7479.      
  7480.         *    RETURN                     Returns to the previous SCRIPT or GOSUB
  7481.                                         command. Nesting of up to 20 RETURN's    
  7482.                                         are allowed.
  7483.      
  7484.              SCRIPT FILENAME.EXT        Run another script; passing up to ten
  7485.                                         parameters.  Use the RETURN command to
  7486.                                         return to the line following the SCRIPT
  7487.                                         command. The nesting level of the
  7488.                                         SCRIPT and GOSUB commands are combined
  7489.                                         twenty (20) levels deep.
  7490.      
  7491.              SEND "STRING"              Send any "text" string to the modem or
  7492.                                         remote computer.
  7493.      
  7494.         *    SETCOMM [A-N]              Set the Communication Parameters.
  7495.                                         Choose from the following:
  7496.      
  7497.         *    SETCOMM A-G                Set baud rate, one letter only.
  7498.                                              A - 300
  7499.                                              B - 1200
  7500.                                              C - 2400
  7501.                                              D - 4800
  7502.                                              E - 9600
  7503.                                              F - 19200
  7504.                                              G - 38400
  7505.         *    SETCOMM H-J                Set Parity, one letter only.
  7506.                                              H - EVEN
  7507.                                              I - ODD
  7508.                                              J - NONE
  7509.         *    SETCOMM K-L                Select Databits, one letter only.
  7510.                                              K - 7
  7511.                                              L - 8
  7512.         *    SETCOMM M-N                Select Stopbits, one letter only.
  7513.                                              M - 1
  7514.                                              N - 2
  7515.         *    SETCOMM CJLM               Example: Sets 2400 baud, no parity, 8
  7516.                                         bits data, one stop bit.
  7517.         *    SETCOMM E                  Example: Changes only the baud rate to
  7518.                                         9600 and retains the previous data bit
  7519.  
  7520.  
  7521.  
  7522.  
  7523.                 Copyright (C) by The Forbin Project, Inc.        106
  7524.  
  7525.  
  7526. Qmodem 3.0                                                           Appendix A
  7527.  
  7528.  
  7529.  
  7530.  
  7531.                                         and parity settings.  Use any valid
  7532.                                         combination of up to four (4) letters
  7533.                                         after SETCOMM.
  7534.      
  7535.         *    STRING [WORD]              Up to twenty (20) new variables can be
  7536.                                         defined by this command. They can be
  7537.                                         referenced as a ($word).
  7538.                                         Example: STRING THIS THAT OTHER
  7539.      
  7540.         *    SYSTEM X                   Exit Qmodem and keep DTR Up (stay
  7541.                                         connected on-line).
  7542.         *    SYSTEM Y                   Exit Qmodem and drop DTR (disconnect
  7543.                                         and go off-line).
  7544.      
  7545.              TIMEOUT [INTEGER]          Sets the number of seconds to WAITFOR
  7546.                                         before halting a Script and returning
  7547.                                         control to the keyboard.
  7548.              TIMEOUT 60 LABEL           Jump to any LABEL after the timeout has
  7549.                                         completed.
  7550.      
  7551.              TURNOFF CAPTURE            Turn off Capture File (Ctrl-Home)
  7552.              TURNOFF ECHO               Turn off local echo (Alt-E)
  7553.              TURNOFF LINEFEED           Do not Add linefeeds (LF) to incoming
  7554.                                         (CR)'s. (Shift-Tab).
  7555.              TURNOFF MUSIC              Turn off ANSI music mode (Alt-M)
  7556.              TURNOFF NOISE              Turn off Beeps/Bells-Speaker (Alt-B)
  7557.         *    TURNOFF ONLINE             This command disables the  _OFFLINE_
  7558.                                         parameter checking.See TURNON ONLINE
  7559.                                         for description.
  7560.              TURNOFF PRINT              Turn off printer (Ctrl-PrtSc)
  7561.              TURNOFF XON/XOFF           De-activate and do not accept or send
  7562.                                         Xon/Xoff (Ctrl-Q/Ctrl-S) ASCII
  7563.                                         characters;  (Alt-Z) keyboard command.
  7564.              TURNON ECHO                Turn on local echo (Alt-E) to the
  7565.                                         screen.
  7566.              TURNON LINEFEED            Add linefeeds (LF) to incoming (CR's).
  7567.              TURNON MUSIC               Turn on ANSI music mode (Alt-M).
  7568.              TURNON NOISE               Turn on Beeps/Bells-Speaker (Alt-B)
  7569.         *    TURNON ONLINE              Enables the GETS command to watch the
  7570.                                         true online status of the system.  This
  7571.                                         is a special case used to test for
  7572.                                         online status.
  7573.              TURNON PRINT               Turn on printer (Ctrl-PrtSc).
  7574.              TURNON XON/XOFF            Activate, accept and send
  7575.                                         Xon/Xoff(Ctrl-Q/Ctrl-S) ASCII
  7576.                                         characters;(Alt-Z) Keyboard Command.
  7577.      
  7578.      
  7579.         *    UPLOAD FILENAME.EXT TYPE   Where TYPE matched DOWNLOAD types.
  7580.                                         Example: UPLOAD QMODEM.COM Y
  7581.      
  7582.              UPLOAD FILENAME.EXT 1 3 0 :   ASCII Upload
  7583.                                  ^ ^ ^ ^
  7584.                                  | | | |
  7585.  
  7586.  
  7587.  
  7588.  
  7589.                 Copyright (C) by The Forbin Project, Inc.        107
  7590.  
  7591.  
  7592. Qmodem 3.0                                                           Appendix A
  7593.  
  7594.  
  7595.  
  7596.  
  7597.                                  | | | Prompt character or symbol if required
  7598.                                  | | |
  7599.                                  | | Throttle Speed (integer, required)
  7600.                                  | |
  7601.                                  | ASCII Type (1 prompted 2 Delay 3 no delay)
  7602.                                  |
  7603.                                  Protocol Transfer method(1) ASCII
  7604.      
  7605.                                         Note: ASCII Protocol Transfer is a
  7606.                                         special case and requires these
  7607.                                         additional parameters. All other
  7608.                                         protocols require only one letter.
  7609.      
  7610.              WAITFOR "STRING"           Wait for any text string before
  7611.                                         proceeding. Example: WAITFOR "Command?"
  7612.      
  7613.              WAITUNTIL HH:MM:SS         Pause until time specified.  All digits
  7614.                                         MUST be entered in 24 hour convention.
  7615.      
  7616.         *    WHEN  "STRING1" "STRING2"  When "text1" is received, then SEND      
  7617.                                         "text2" out the comport.
  7618.      
  7619.         *    WHEN  "STRING"  LABEL      When "text" is received, jump to LABEL.
  7620.                                         Example: WHEN "files." DONE
  7621.      
  7622.         *    WHEN                       A WHEN with no parameters clears all
  7623.                                         active WHEN commands.
  7624.      
  7625.                                         WHEN Function:  Wait for a string and
  7626.                                         then do something.  After a WHEN
  7627.                                         command is activated, it remains in
  7628.                                         effect until the entire script is
  7629.                                         completed, unless the WHEN is
  7630.                                         canceled.  Up to ten (10) different
  7631.                                         WHEN commands can be executed in one
  7632.                                         script.
  7633.      
  7634.         *    WINDOW [C1 R1 C2 R2]       Generates a window defined by the four
  7635.                                         coordinates of the  outline. The window
  7636.                                         will be blank and will not have a
  7637.                                         border.  See BOX for detailed
  7638.                                         description of the Column and Row
  7639.                                         Coordinates. C1 = Left Column, R1 =
  7640.                                         Left Row, C2 = Right Column, R2 = Right
  7641.                                         Row.
  7642.      
  7643.         *    WRITE "text"               Sends a "STRING of characters" out the
  7644.                                         comport without a CR/LF. For example
  7645.                                         use when prompting or a reply is
  7646.                                         required on the same line.
  7647.      
  7648.         *    WRITELN "text"             Sends a "STRING of characters" out the
  7649.                                         comport with a CR/LF.
  7650.      
  7651.  
  7652.  
  7653.  
  7654.  
  7655.                 Copyright (C) by The Forbin Project, Inc.        108
  7656.  
  7657.  
  7658. Qmodem 3.0                                                           Appendix B
  7659.  
  7660.  
  7661.  
  7662.  
  7663.      
  7664.      APPENDIX B  TERMINAL MODE COMMAND REFERENCE
  7665.           
  7666.           Strip/Replace Table                     Alt-A
  7667.           Bells and Beeps Toggle                  Alt-B
  7668.           Clearing the screen                     Alt-C
  7669.           Dialing                                 Alt-D
  7670.           Changing the Duplex                     Alt-E
  7671.           Script Files                            Alt-F
  7672.           Terminal Emulation                      Alt-G
  7673.           Hangup the phone                        Alt-H
  7674.           Information screen                      Alt-I
  7675.           Function Key Macros                     Alt-J
  7676.           Changing the active COM port            Alt-K
  7677.           Changing the Logged Drive               Alt-L
  7678.           Music Toggle                            Alt-M
  7679.           Invoking Qinstall from Qmodem           Alt-N
  7680.           Changing Subdirectories                 Alt-O
  7681.           Setting the Communications Parameters   Alt-P
  7682.           The Dial/Redial Screen                  Alt-Q
  7683.           DOS Shell                               Alt-R
  7684.           Split Screen Mode                       Alt-S
  7685.           Screen Dump                             Alt-T
  7686.           Scroll Back Toggle                      Alt-U
  7687.           View a File                             Alt-V
  7688.           Disk Directory                          Alt-W
  7689.           Exiting Qmodem                          Alt-X
  7690.           Delete a File                           Alt-Y
  7691.           Xon/Xoff Toggle                         Alt-Z
  7692.           Uploading a File                        PgUp
  7693.           Downloading a File                      PgDn
  7694.           Scroll Back                             Up Arrow
  7695.           Capture to Disk                         Ctrl-Home
  7696.           Sending a BREAK signal                  Ctrl-End
  7697.           Copying to the Printer                  Ctrl-PrtSc
  7698.           Adding Linefeeds to Carriage Returns    Shift-Tab
  7699.           Backspace <-> DEL Toggle                Alt-1
  7700.           EGA Screen Modes                        Alt-2 thru Alt-6
  7701.           Hi Bit Stripping Toggle                 Alt-8
  7702.           Logging activity to a File              Alt-0
  7703.           
  7704.  
  7705.  
  7706.  
  7707.  
  7708.  
  7709.  
  7710.  
  7711.  
  7712.  
  7713.  
  7714.  
  7715.  
  7716.  
  7717.  
  7718.  
  7719.  
  7720.  
  7721.                 Copyright (C) by The Forbin Project, Inc.        109
  7722.  
  7723.